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"));
}
}
运行结果
