在java中重命名文件的最佳方法是,目录中大约有500个文件

Sur*_*h S 11 java file-rename

我在目录中有500个pdf文件.我想删除文件名的前五个字符并重命名.

gmh*_*mhk 18

用于重命名给定目录中的文件列表的示例代码.在下面的示例中,c:\Projects\sample是文件夹,其下列出的文件已重命名为0.txt,1.txt,2.txt等.

我希望这能解决你的问题

import java.io.File;
import java.io.IOException;

public class FileOps {


    public static void main(String[] argv) throws IOException {

        File folder = new File("\\Projects\\sample");
        File[] listOfFiles = folder.listFiles();

        for (int i = 0; i < listOfFiles.length; i++) {

            if (listOfFiles[i].isFile()) {

                File f = new File("c:\\Projects\\sample\\"+listOfFiles[i].getName()); 

                f.renameTo(new File("c:\\Projects\\sample\\"+i+".txt"));
            }
        }

        System.out.println("conversion is done");
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 12

这样的事情应该做(Windows版本):

import java.io.*;

public class RenameFile {
    public static void main(String[] args) {
        // change file names in 'Directory':
        String absolutePath = "C:\\Dropbox\\java\\Directory";
        File dir = new File(absolutePath);
        File[] filesInDir = dir.listFiles();
        int i = 0;
        for(File file:filesInDir) {
            i++;
            String name = file.getName();
            String newName = "my_file_" + i + ".pdf";
            String newPath = absolutePath + "\\" + newName;
            file.renameTo(new File(newPath));
            System.out.println(name + " changed to " + newName);
        }
    } // close main()
} // close class
Run Code Online (Sandbox Code Playgroud)


Ste*_*n C 4

用于File.listFiles(...)列出目录中的文件、String.substring(...)形成新文件名并File.rename(...)进行重命名。

但我建议您在开始重命名之前让您的应用程序检查它是否可以重命名所有文件而不会发生任何冲突。

但@Pascal 的评论是正确的。Java 并不是做这种事情的最简单的工具。