import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
public class FilterTest {
public static void main(String[] args) {
File dir = new File("/home/cll/PycharmProjects");
// File[] files = dir.listFiles(new FilenameFilterBySuffix(".c"));//
// if(files != null)
// for (File file : files
// ) {
// System.out.println(file.getName());
// }
listAll(dir); //递归
}
public static void listAll(File dir){
System.out.println("dir="+dir.getName());
File[] files = dir.listFiles();
if(files != null) {
for (File file : files
) {
if (file.isDirectory())
listAll(file);
System.out.println("file="+file.getName());
}
}
}
}
class FilenameFilterBySuffix implements FilenameFilter { //定义文件名过滤器
private String suffix; //不固定传入什么
public FilenameFilterBySuffix(String suffix) { //只要new对象时传入参数
super();
this.suffix = suffix;
}
@Override
public boolean accept(File dir, String name) {
//System.out.println(dir+":"+name);
return name.endsWith(suffix); //返回想要的结果,以suffix结尾的都可以
}
}
class FileFilterByDir implements FileFilter{ //定义文件过滤器
@Override
public boolean accept(File file) {
return file.isDirectory();//是不是文件夹
}
}
过滤器
最新推荐文章于 2023-12-14 08:45:00 发布