FileFilter(),文件过滤器操作

package seday03;

import java.io.File;
import java.io.FileFilter;

/**
* listFiles的重载方法允许我们传入一个文件过滤器:File[] listFiles(FileFilter filter)
* 该方法会将当前File对象表示的目录中满足过滤器要求的子项获取回来
* @author xingsir
*/
public class FileFiltersDemo2 {

public static void main(String[] args) {
File dir =new File(".");//相对路径
if(dir.isDirectory()) {//判断是否是目录

//获取所有文件的过滤器
FileFilter fileter=new FileFilter() {
@Override
public boolean accept(File dir) {
return dir.isFile();//是文件返回true

}
};
/*
* 该方法实际上会将dir中所有子项都获取到,并且每个子项都会经过给定的过滤器的accept方法,
* 但是只有返回值为true的子项会被保留,最终返回。
*/
File [] subs=dir.listFiles(fileter);
for(int i=0;i<subs.length;i++) {
System.out.println(subs[i].getName());
}

}

}

}

原文地址:https://www.cnblogs.com/xingsir/p/11989505.html