通过匿名内部类实现对文件的过滤

来源:互联网 发布:三星缩水软件安卓版 编辑:程序博客网 时间:2024/06/13 20:45

使用FileFileFilter匿名内部类实现对文件的过滤:

package com.blueZhangTest;import java.io.File;import java.io.FileFilter;public class Demo5 {public static void main(String[] args) {listImages(new File("E:\\gp08\\day09"));}/** * 使用内部类实现对文件的过滤 对目录中的结尾是.txt 的文件进行过滤 *  * @param file *            搜索的目录 * */static void listTxt(File file) {File[] files = file.listFiles(new FileFilter() {@Overridepublic boolean accept(File pathname) {String name = pathname.getName();if (name.endsWith("txt")) {return true;}return false;}});for (File f : files) {System.out.println(f.getName());}}/** * 使用内部类实现通过对文件的过滤 找出file中的img文件 *  * @param file *            表示的是要进行查找的文件或者是目录 * @return 如果是图片那么返回true 如果不是的话那么返回false * @throws RuntimeException * */static void listImages(File file) {if (!file.isDirectory()) {throw new RuntimeException("指定的路径不是有效的目录");}// 通过匿名内部类实现过滤文件类型的接口File[] files = file.listFiles(new FileFilter() {// 如果指定的类型文件符合,返回true,否则返回false@Overridepublic boolean accept(File pathname) {String fileName = pathname.getName(); // a.bc.jpg// 获得扩展名String exName = fileName.substring(fileName.lastIndexOf(".") + 1);// 判断扩展名的类型if (exName.equals("jpg") || exName.equals("bmp")|| exName.equals("png")) {return true;}return false;}});int count = 0;for (File f : files) {System.out.println(f.getName());count++;}System.out.println("共有" + count + "张图片");}}


0 0
原创粉丝点击