使用 Java 以递归方式列出目录中的所有文件
我有这个函数,它以递归方式打印目录中所有文件的名称。问题是我的代码非常慢,因为它必须在每次迭代时访问远程网络设备。
我的计划是首先以递归方式从目录中加载所有文件,然后使用正则表达式浏览所有文件,以过滤掉所有我不想要的文件。有人有更好的建议吗?
public static printFnames(String sDir) {
File[] faFiles = new File(sDir).listFiles();
for (File file : faFiles) {
if (file.getName().matches("^(.*?)")) {
System.out.println(file.getAbsolutePath());
}
if (file.isDirectory()) {
printFnames(file.getAbsolutePath());
}
}
}
这只是稍后的测试,我不会使用这样的代码,而是将每个与高级正则表达式匹配的文件的路径和修改日期添加到数组中。