Java如何递归搜索文件?
本示例演示了如何使用FileUtils类listFiles()方法搜索由其扩展名指定的文件。我们还可以定义以递归方式找到子目录中的文件。
package org.nhooo.example.commons.io;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.util.Collection;
public class SearchFileRecursive {
public static void main(String[] args) {
File root = new File("/Users/wayan/Dev");
try {
String[] extensions = {"xml", "java", "dat"};
//在根目录及其可选目录中查找文件
//匹配扩展数组的子目录。当。。。的时候
//extensions为null,将返回所有文件。
//
//该方法将匹配的文件返回为java.io.File
Collection files = FileUtils.listFiles(root, extensions, true);
for (Object o : files) {
File file = (File) o;
System.out.println("File = " + file.getAbsolutePath());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}Maven依赖
<!-- http://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>