簡體   English   中英

重命名晦澀的文件Java

[英]Renaming an obscure file 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);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM