我正在使用 Java 开发一个小型应用程序,它采用目录结构并在解析原始名称后根据特定格式重命名文件。
为了促进这些文件操作,最好使用什么 Java 类/方法?
编辑:问题仅与文件操作部分有关,我记下了“获取格式化名称”:)
编辑 2:另外,如何递归列出文件?
最佳答案
使用java.io.File
列出目录中的所有文件
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
// Do something with "listOfFiles[i]"
}
更新
要递归列出文件,最好的方法相当简单:
- 创建目录队列。最初将第一个目录添加到队列中
- 从队列中弹出第一个目录元素。
- 列出该目录下的所有文件,同上
- 遍历该目录中的所有文件
- 如果一个文件是一个目录(使用
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);
寻找要重命名的新名称
我不确定您希望格式化规则是什么 - 当我在 Perl 中实现相同的实用程序供自己使用时,我使用了正则表达式。对于 Java,那将是 java.util.regex
关于java - Java中的文件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890024/