package cn.bruce.file;
import java.io.File;
import java.io.FileFilter;
//对目录下的内容全遍历,找出所有.java结尾的文件
public class FileDemo4 {
public static void main(String[] args) {
fun(new File("E:\\b"));
}
public static void fun(File dir) {
// System.out.println(dir);
// 调用listFiles方法对目录进行遍历
File[] filearr = dir.listFiles(new Myjavafilter());
for (File file : filearr)
{
if (file.isDirectory())
{
fun(file);// 判断如果是文件夹就继续调用遍历目录下内容的方法,形成递归
} else
{
System.out.println(file);// 不是的话就打印出来文件路径名字
}
}
}
}
// 自定义过滤器,实现filefilter接口,重写抽象方法
class Myjavafilter implements FileFilter {
public boolean accept(File pathname) {
// pathname接受到的是传入的全路径
// 然后取的文件的结尾后缀pathname.getname();
if (pathname.isDirectory())
{
return true;// 目录的话不去判断后缀
}
// 判断字符串是不是.java结尾,不区分大小写
return pathname.getName().toLowerCase().endsWith(".java");
}
}
