java 文件过滤器怎么实现。??

请教大家。怎么实现啊?能给一个例子么?
2024-12-03 22:57:35
推荐回答(2个)
回答1:

import java.io.File;
import java.io.FilenameFilter;

/**
* 文件过滤器的简单实现
*
* @author ajaxfan
* @date 2010-04-17
*/
public class FileNameFilterDemo {
public static void main(String[] args) {
list("d:/");
}

/**
* 列出特定路径下的txt文件
*
* @param directoryName
* 路径名
*/
private static void list(String directoryName) {
File dir = new File(directoryName);
// 确定该路径指向一个目录
if (dir.exists() && dir.isDirectory()) {
// 列出所有结尾为txt的文件
File[] files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith("txt");
}
});
System.out.println(java.util.Arrays.toString(files));
}
}
}

回答2:

java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,可以实现文件过滤器,如下代码:

accept(File file,String path)方法
public class DirFilter implements FilenameFilter{
  private String type;
  public DirFilter(String tp){
    this.type=tp;
  }
 
  public boolean accept(File fl,String path) throws Exception{
     File file=new File(path);
     String filename=file.getName();
     return filename.indexOf(type)!=-1;
  }
}