通过匿名内部类实现对文件的过滤
2015-08-22 11:28
260 查看
使用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() { @Override public 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 @Override public 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 + "张图片"); } }
相关文章推荐
- JavaScript Array
- DSO Framer _ WinForm 使用
- 汇编语言相关图书推荐
- 前端精选文摘:BFC 神奇背后的原理
- 初入android驱动开发之字符设备(四-中断)
- 叶存菜鸟URL和URLConnection java笔记
- 链队列
- (二)、Android ListView滑动过程中图片显示重复错位闪烁问题解决
- man 命令 的使用方法
- 面试题总结(一)、TCP协议
- opencv中convexHull函数说明
- 把Nodepad++添加进右键菜单
- UILabel 根据内容的多少来计算label的frame
- struts接收参数方式
- bell数
- android.os.NetworkOnMainThreadException异常
- linux 下解压,tar,rar,zip
- java多线程学习
- 解决:mvn archetype:create Abstract class or interface 'org.apache.maven.artifact.repository.ArtifactRepository' cannot be instantiated
- 排序算法之插入排序、冒泡排序和选择排序