FileFilter的主要作用就是检测文件是否存在。FileFilter 和他的前身FilenameFilter 唯一的不同是FileFilter 提供文件对象的访问方法,而FilenameFilter 是按照目录和文件名的方式来工作的。
1、接口方法accept()中可以自行定义过滤规则
2、此外,FilenameFilter和FileFilter类似,也提供文件过滤功能
范例1,列出包含指定关键词的目录和文件
范例2,列出c盘下面的所有的java源文件
转自:[url]http://www.blogjava.net/fastunit/archive/2008/04/24/195604.html[/url]
1、接口方法accept()中可以自行定义过滤规则
2、此外,FilenameFilter和FileFilter类似,也提供文件过滤功能
范例1,列出包含指定关键词的目录和文件
import java.io.File;
import java.io.FileFilter;
public class KeywordFileFilter implements FileFilter {
private String keyword;
public KeywordFileFilter(String keyword) {
this.keyword = keyword;
}
public boolean accept(File pathname) {
return pathname.getName().toLowerCase().indexOf(keyword) >= 0;
}
/**
* 测试方法
*/
public static void main(String[] args) {
File path = new File("c:/");
File[] list = path.listFiles(new KeywordFileFilter("windows"));
for (int i = 0; i < list.length; i++) {
System.out.println(list[i].getName());
}
}
}
范例2,列出c盘下面的所有的java源文件
private FileFilter fileFilter = new FileFilter() {
public boolean accept(File file) {
String tmp = file.getName().toLowerCase();
if (tmp.endsWith(".java")) {
return true;
}
return false;
}
};
File root=new File("c:\\"); File[] files=root.listFiles(fileFilter);
转自:[url]http://www.blogjava.net/fastunit/archive/2008/04/24/195604.html[/url]