java - Java中的文件操作

标签 java file-io

我正在使用 Java 开发一个小型应用程序,它采用目录结构并在解析原始名称后根据特定格式重命名文件。

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

编辑:问题仅与文件操作部分有关,我记下了“获取格式化名称”:)

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

最佳答案

使用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]"
}

更新

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

  • 创建目录队列。最初将第一个目录添加到队列中
  • 从队列中弹出第一个目录元素。
  • 列出该目录下的所有文件,同上
  • 遍历该目录中的所有文件
  • 如果一个文件是一个目录(使用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/

相关文章:

python - 使用 Python 从 netCDF 文件打印一个变量

java - 在 Windows 和 Linux 操作系统下访问 Java 应用程序中的外部文件

java - OSGi 和 native 事件

java - 为什么依赖注入(inject)需要另一种语言?

java - header 签名无效;在 excel 文档上使用 Apache POI 的 IOException

c - windows下C监控文件和目录

java - 为什么会有两个具有相同签名的构造函数?

java - Java 8 更新后的 RC4 相关问题

将文件中的第一个字母大写

python - TypeError : TextIOWrapper. seek() 没有关键字参数