定义过滤类:
主要是实现FileFilter接口里面的accept()方法,
通过此方法来实现对指定文件夹下面的文件类
型的过滤.
package chapter10.branch08;
import java.io.File;
import java.io.FileFilter;
public class Myfilter implements FileFilter {
private String extension;
//定义扩展的后缀名
public Myfilter(String extension) {
super();
this.extension = extension;
}
public String getExtension() {
return extension;
}
public void setExtension(String extension) {
this.extension = extension;
}
//实现FileFilter的accept方法
@Override
public boolean accept(File file) {
if(file.isDirectory())
return false;
//提取文件名
String name=file.getName();
//提取后缀
int index=name.lastIndexOf(".");
if(index==-1||index==name.length()-1) {
return false;
}else{
return name.substring(index).equals(extension);
}
}
}
测试类:
package chapter10.branch08;
import java.io.File;
public class Test {
public static void main(String[] args) {
Test t=new Test();
//在测试的时候,扩展名药带上".",因为MyFileter里
//面的获取的那部分是包括了"."的
t.dir("E:\\file", ".txt");
}
public void dir(String path,String extension) {
//构造文件夹
File directory=new File(path);
//实例化filter类
Myfilter mf=new Myfilter(extension);
//获取文件
File[] fs=directory.listFiles(mf);
System.out.println("路径:\t"+path);
System.out.println("文件:");
for(File file:fs) {
System.out.println("\t"+file.getName());
}
}
}