package com.immoc; import java.io.File;
import java.io.IOException; public class FileUtile {
//列出file类的常用操作,遍历,过滤等 /*
* 列出指定目录下的文件(包括子目录的文件)
*/ 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=dir.listFiles();//返回的是直接子目录的抽象,
//判断文件是否是空文件并且文件有价值
if(file!=null&&file.length>0){
//遍历所有的文件
for (File file2 : file) {
if(file2.isDirectory()){
//递归//1、传一个文件路径dir进来,如果传进来的是文件夹,取出文件夹中的所有文件进行遍历//
2、遍历时将每个文件进行判断,如果发现是文件夹,执行递归,又回到第一步。如果不是文件夹,就输出
listDirectory(file2);
}
System.out.println(file2); }
}
else
{System.out.println(file);
}
} } //测试类代码
package com.immoc; import java.io.File;
import java.io.IOException; public class FileUtiltest { public static void main(String[] args) throws IOException {
FileUtile.listDirectory(new File("H:\\d盘资料")); } }