FilenameFilter:
import java.io.File;
import java.io.FilenameFilter;
import cn.qujianlei.filter.FilterByContain;
import cn.qujianlei.filter.FilterBySuffix;
public class FileTestList2 {
public static void main(String[] args) {
//能不能只获取指定目录下.java文件呢?
File dir = new File("d:\\");
//传入一个过滤器
FilenameFilter filter = new FilterBySuffix(".java");//过滤后缀名的过滤器
FilenameFilter filter1 = new FilterByContain("W");//过滤文件内容的过滤器
String[] names = dir.list(filter1);
for(String name:names){
// if(name.endsWith(".java"))
System.out.println(name);
}
}
}
根据后缀名的过滤器:
import java.io.File;
import java.io.FilenameFilter;
/**
* 根据文件名的后缀名的过滤器
* @author dell
*
*/
public class FilterBySuffix implements FilenameFilter {
private String suffix;
public FilterBySuffix(String suffix) {
super();
this.suffix = suffix;
}
/**
* @param name:被遍历目录中的文件夹或者文件的名称。
*/
@Override
public boolean accept(File dir, String name) {
return name.endsWith(suffix);
}
}
根据内容的过滤器:
import java.io.File;
import java.io.FilenameFilter;
public class FilterByContain implements FilenameFilter {
private String content;
public FilterByContain(String content) {
super();
this.content = content;
}
@Override
public boolean accept(File dir, String name) {
return name.contains(content);
}
}
关注我的微信公众号(曲健磊的个人随笔),观看更多精彩内容: