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>