我正在研究Java中的一个小应用程序,该应用程序在解析原始名称后采用目录结构并根据某种格式重命名文件。
为了促进这些文件操作,最好的Java类/方法是什么?
编辑:问题仅针对文件操作部分,我得到了“获取格式化名称”:)
编辑2:另外,如何递归列出文件?
答案 0 :(得分:3)
使用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
答案 1 :(得分:1)
这Sun Totorial可能是一个好的开始。如果我在哪里,我基本上会检索目录中的所有文件,然后循环遍历它们,如图here所示。您可能还必须使用正则表达式,可以找到基本教程here
答案 2 :(得分:1)
你总是可以使用标准的java.io.File
类,但它本身并不是很有用。
对于复杂的文件I / O操作,我建议使用Apache Commons IO,它为(以及其他)文件操作提供了丰富的类库。查看FileUtils和FilesystemUtils
等类答案 3 :(得分:0)
有File
课程,可以满足您的所有需求: