Java中的文件操作

Ami*_*hum 5 java file-io

我正在研究Java中的一个小应用程序,该应用程序采用目录结构并在解析原始名称后根据某种格式重命名文件.

为了促进这些文件操作,最好的Java类/方法是什么?

编辑:问题只是关于文件操作部分,我得到了"获取格式化名称":)

编辑2:另外,如何递归列出文件?

DVK*_*DVK 3

使用java.io.File


列出目录中的所有文件

http://www.javaprogrammingforums.com/java-code-snippets-tutorials/3-how-list-all-files-directory.html

File folder = new File(path);
File[] listOfFiles = folder.listFiles(); 
for (int i = 0; i < listOfFiles.length; i++) {
    // Do something with "listOfFiles[i]"
}
Run Code Online (Sandbox Code Playgroud)

更新

要递归列出文件,最好的方法相当简单:

  • 创建目录队列。最初将第一个目录添加到队列中
  • 将第一个目录元素从队列中弹出。
  • 列出该目录下的所有文件,同上
  • 遍历该目录中的所有文件
  • 如果文件是目录(使用isDirectory()方法),则将其添加到队列的后面。否则,根据需要处理下一个文件(例如打印)
  • 当队列为空时停止。

一个例子(我认为与上面的方法有点不同)是http://www.javapractices.com/topic/TopicAction.do?Id=68


重命名文件

http://www.roseindia.net/java/example/java/io/RenameFileOrDir.shtml

    boolean Rename = oldfile.renameTo(newfile);
Run Code Online (Sandbox Code Playgroud)

查找要重命名的新名称

我不确定您想要什么格式化规则 - 当我在 Perl 中实现相同的实用程序供我自己使用时,我使用了正则表达式。对于 Java,那就是java.util.regex