递归方法遍历目录 且筛选打印出 D:\Eclipse 目录下的所有exe文件
import java.io.File;
public class TestFileDemo {
public static void main(String[] args) {
File dir = new File("D:\\Eclipse");// 快捷键 CTRL+Shift+O 导入包
getAllDir(dir);
}
//遍历目录
public static void getAllDir(File dir) {
File[] fieArr = dir.listFiles(new DirFilter());//文件过滤 目录返回true进行再次遍历 不是目录 是文件则只返回 .exe文件
for(File f: fieArr) {
//判定路径是 目录路径 还是文件路径
if(f.isDirectory()) {
getAllDir(f); //递回调用
}else {
System.out.println(f);//打印筛选后各exe文件的 全路径
}
}
}
}
import java.io.File;
import java.io.FileFilter;
public class DirFilter implements FileFilter {
@Override
public boolean accept(File pathname) {
if(pathname.isDirectory())
return true;
return pathname.getName().endsWith("exe");
}
}