您好,我想使用 Java 处理许多子目录中的文件。伪代码将是
while(mainDir.hasMoreDirectory())
{
getFilesFromCurrentDirectory()
passThoseFilesAsArgumentToProcess()
}
我目前正在使用以下代码
public void list(File file) {
System.out.println(file.getName());
File[] children = file.listFiles();
for (File child : children) {
list(child);
}
}
上面的代码只是列出了文件。我可以做的另一件事是我必须将文件和目录列表存储在列表中,然后在另一个循环中处理。但是我无法想出我想要的伪代码。我是文件目录的新手,请帮忙。提前致谢。
最佳答案
如果您使用的是 Java 7,则可以 Files.walkFileTree 方法的形式利用 NIO 的增强功能。在 Java 中遍历文件系统从未如此简单。
有一个关于它的用法的简短教程 here .
它实现了访问者模式,因此您无需担心遍历算法本身,只需指定您要对每个条目执行的操作即可。
关于java - 递归处理Java中许多子目录中的相同文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18209004/