关于过滤器原理的分析(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文件遍历出来.

posted @ 2019-03-23 19:56  一人言朋  阅读(91)  评论(0编辑  收藏  举报