public static void main(String[] args) {
String path = ""; //输入要遍历的目录路径
File file = new File(path); // 创建File实例
traverse(file); // 调用函数(无过滤器)
traverseFilter(file); //调用函数(有过滤器)
}
---------------------------------------------------------------------------
public static void traverse(File file) { //未添加过滤器
File[] fs = file.listFiles(); //创建File数组获取当前目录中的文件
for (File f : fs) {
if(f.isDirectory()) { //若为目录 则递归遍历子目录下的文件
traverse(f);
}
if(f.isFile()) { //若为文件 则输出文件路径
System.out.println(f);
}
}
}
public static void traverseFilter(File file) { //添加过滤器 获取特定后缀的文件
File[] fs = file.listFiles(new FileFilter() {
@Override //重写过滤器
public boolean accept(File pathname) {
return pathname.getName().endsWith(".jpg") || pathname.isDirectory(); //保留.jpg后缀的文件 和 目录
}
});
for (File f : fs) {
if(f.isDirectory()) { //若为目录 则递归遍历子目录下的文件
traverse(f);
}
if(f.isFile()) { //若为文件 则输出文件路径
System.out.println(f);
}
}
}