FileFilter与FilenameFilter可以实现对文件的过滤,他们都是接口,具体的过滤规则需要我们自己编写
1、FileFilter
1 package org.zln.io.file; 2 3 import java.io.File; 4 import java.io.FileFilter; 5 6 /** 7 * 拓展名过滤器 只返回指定拓展名的文件 8 * Created by coolkid on 2015/6/21 0021. 9 */ 10 public class ExtensionFilter implements FileFilter{ 11 12 //拓展名 13 private String extension; 14 15 public ExtensionFilter(String extension) { 16 this.extension = extension; 17 } 18 19 @Override 20 public boolean accept(File file) { 21 boolean result = false; 22 23 if (file.isDirectory()){//目录 过滤掉 24 result = false; 25 }else { 26 String fileName = file.getName();//文件名 不是全路径 27 int index = fileName.lastIndexOf("."); 28 if (index == -1){ 29 result = false; 30 }else if (index == fileName.length()-1){ 31 result = false; 32 }else { 33 if (this.extension.equalsIgnoreCase(fileName.substring(index+1))){ 34 result = true; 35 } 36 } 37 } 38 return result; 39 } 40 }