FileUtils.java package traversalDir;import java.io.File;import java.io.IOException;public class FileUtils {/** * 列出指定目录下(包括其子目录)的所有文件 */public static void listDirectory(File dir) throws IOException{if(!di
package traversalDir; import java.io.File; import java.io.IOException; public class FileUtils { /** * 列出指定目录下(包括其子目录)的所有文件 */ public static void listDirectory(File dir) throws IOException{ if(!dir.exists()) { throw new IllegalArgumentException("目录:"+dir+"不存在!"); } if(!dir.isDirectory()) { throw new IllegalArgumentException(dir+"不是目录!"); } /* String[] filenames = dir.list(); //返回的是字符串数组,仅返回的是要查询目录下文件和子目录的名字 //而不会返回子目录里面的文件和目录 for (String string : filenames) { System.out.println(dir+"\\"+string); } */ //遍历子目录下的内容需要构造成File对象做递归操作,File提供了直接返回File对象的方法 File[] files = dir.listFiles(); //返回的是直接子目录(文件)的抽象 if(files != null && files.length > 0) { for (File file : files) { if(file.isDirectory()) { //递归 listDirectory(file); } else { System.out.println(file); } } } } }FileUtilsTest.java
package traversalDir; import java.io.File; import java.io.IOException; public class traversalDirTest { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub FileUtils.listDirectory(new File("D:\\eclipse-workspace\\traversalDir")); } }运行结果