一、FilenameFilter介绍
Java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件;
一般地:
(1)String[] fs = f.list();
(2)File[] fs = f.listFiles();
这两个方法返回f下的所有文件或目录;
FilenameFilter用来把符合要求的文件或目录返回;
因此可以调用:
(1)String []fs = f.list(FilenameFilter filter);;
(2)File[]fs = f.listFiles(FilenameFilter filter);
二、FilenameFilter的使用举例
//System.getProperty("catalina.home")获取到Tomcat的根路径,比如:D:\Program Files (x86)\tomcat\apache-tomcat-7.0.70-windows-x86\apache-tomcat-7.0.70
File dataDirectory = new File(System.getProperty("catalina.home") + File.separator + "test" + File.separator + "conf");// 这里获取的是:D:\Program Files (x86)\tomcat\apache-tomcat-7.0.70-windows-x86\apache-tomcat-7.0.70\test\conf
// 数据源文件必定要是properties类型。
File[] dataFiles = dataDirectory.listFiles(new FilenameFilter() {
//以config_db开头,文件后缀为.properties的将被选出来,其余被过滤掉
@Override
public boolean accept(File dir, String name) {
String fileName = name.toLowerCase();
if (fileName.endsWith(".properties")) {
if(fileName.startsWith("config_db")) {
return true;
}
}
return false;
}
});