关于过滤器原理的分析(FileFileter),以及用递归方式遍历制定目录下所有的.java文件
listFiles()遍历目录的同事,获取到了文件名全路径,调用过滤器的方法accept,将获取到的路径传递给accept的参数pathname。
实例演示:用递归方式遍历制定目录下所有的.java文件。
代码演示如下:
public class FileLsittest {
public static void main(String[] args) {
File file =new File("e:\\study");
getALLfile(file);
}
public static void getALLfile(File file){
File[] list =file.listFiles(new MyfileFiler());
for (File m : list) {
if(m.isDirectory()){
getALLfile(m);
}
else {
System.out.println(m);
}
}
}
public class MyfileFiler implements FileFilter {
@Override
public boolean accept(File pathname) {
String name =pathname.getName();
return name.endsWith(".java");
}
}
这样便可以将所有的java文件遍历出来.