将模糊文件重命名为Java



好吧,我有一个文件夹,里面有大约2000张图片,都有奇怪的名字,我想循环整个过程,并将它们重命名为"something"+数字(for循环中的I)。当您只知道目录中的位置而不知道名称时,是否有重命名文件的方法。我想主要的问题是获取目录中索引x处的文件名,有这样的方法吗?

public class stuff {
  static ArrayList<File> images = new ArrayList<>();
  public static void main(String[] args) throws IOException{
    Files.walk(Paths.get("C:\Users\Seth Gower\Pictures\Stuff for imgur\iFunny Dumps\iFunny Dump (All)"))
      .forEach(filePath -> {
        if (Files.isRegularFile(filePath)) {
          images.add(new File(filePath.toString()));
        }
      });
    for(File x : images)
      System.out.println(x.getName());
    for (int i = 0; i < images.size(); i ++){
      System.out.println(images.get(i).renameTo(new File(
          "C:\Users\Seth Gower\Pictures\Stuff for imgur\iFunny Dumps\iFunny Dump (All)" + "\" + "ifunnyDump" + i)));
    }
  }
}
static ArrayList<File> images = new ArrayList<>();
public static void main(String[] args) throws IOException{
    Files.walk(Paths.get("path")).forEach(filePath -> {
        if (Files.isRegularFile(filePath)) {
            images.add(new File(filePath.toString()));
        }
    });
    for (int i = 0; i < images.size(); i ++){
        images.get(i).renameTo(new File("path" + "\" + "text" + i + ".jpg"));
    }

}

多亏了@hexafraction和@MatthewStrawbridge

这真的很简单

你需要首先在中找到你的文件所在的目录

File dir = new File("C:\yourdirectory");

现在,您需要循环浏览目录中的每个文件并对其进行重命名。每个循环最好使用一个。如果您想在循环之前检查指定的目录是否真的是if (dir.isDirectory())

int i = 0;
for (File f : dir.listFiles()) {
    try {
        f.renameTo("YourText_"+i+".jpg");
        i++;
    } 
    catch (Exception e) 
    {
        System.out.println(e);
    }
}

最新更新