1.FileFilter
package test; import java.io.File; import java.io.FileFilter; public class FileFilterTest implements FileFilter { private String extension; public FileFilterTest(String extension) { this.extension = extension; } /** * */ @Override public boolean accept(File pathname) { if(pathname.isDirectory()){ return false; } String name = pathname.getName(); int num = name.lastIndexOf("."); if(num == -1){ return false; } if(name.length()-1 == num){ return false; } else { return extension.equals(name.substring(num+1)); } } public static void main(String[] args) { File path = new File("E:\书籍\java 编程"); //获得过滤对象 FileFilterTest ft = new FileFilterTest("pdf"); File[] files = path.listFiles(ft); for (int i = 0; i < files.length; i++) { System.out.println(files[i].getAbsolutePath()); } } }
2.FilenameFilter
package test; import java.io.File; import java.io.FilenameFilter; public class FileNameFilterTest implements FilenameFilter { //判断图片是否格式是否是 gif private boolean isGif(String fileName){ if(fileName.toLowerCase().endsWith(".gif")){ return true; } else { return false; } } //判断图片是否格式是否是 jpg private boolean isJpg(String fileName){ if(fileName.toLowerCase().endsWith(".jpg")){ return true; } else { return false; } } //判断图片是否格式是否是 png private boolean isPng(String fileName){ if(fileName.toLowerCase().endsWith(".png")){ return true; } else { return false; } } @Override public boolean accept(File dir, String name) { return (isGif(name)||isJpg(name)||isPng(name)); } public static void main(String[] args) { File path = new File("C:\img"); //获得过滤对象 FileNameFilterTest ft = new FileNameFilterTest(); File[] f = path.listFiles(ft); for (int i = 0; i < f.length; i++) { File file = f[i]; System.out.println(file.getAbsolutePath()); } } }