利用FilenameFilter实现图片过滤器
2013-01-10 16:35
363 查看
利用FilenameFilter实现图片过滤器,实现过滤后缀为jpg/png/bmp的代码如下:
匿名内部类FilenameFilter的作用就是提供一个accept()的方法;利用此类,为list()提供accept()方法,当list()判断该返回哪些文件名的时候,能够"回过头来调用"accept(
)方法,这种结构通常被称为回调(callback)。
更准确地说,由于list()实现了基本功能,而FilenameFilter提供了"对外服务所需的算法",因此这是一种"策略模式(Strategy
Pattern)"。
import java.io.File; import java.io.FilenameFilter; public class PicFilter { private static boolean isJpg(String name) { return name.toLowerCase().endsWith(".jpg"); } private static boolean isPng(String name){ return name.toLowerCase().endsWith(".png"); } private static boolean isBmp(String name){ return name.toLowerCase().endsWith(".bmp"); } public static void main(String[] args){ File directory = new File("C:\\pic"); final String[] files = directory.list(new FilenameFilter(){ public boolean accept(File dir, String name) { return isJpg(name) | isPng(name) | isBmp(name); }}); for(String fileItem:files){ System.out.print(fileItem + "\n"); } } }
匿名内部类FilenameFilter的作用就是提供一个accept()的方法;利用此类,为list()提供accept()方法,当list()判断该返回哪些文件名的时候,能够"回过头来调用"accept(
)方法,这种结构通常被称为回调(callback)。
更准确地说,由于list()实现了基本功能,而FilenameFilter提供了"对外服务所需的算法",因此这是一种"策略模式(Strategy
Pattern)"。
相关文章推荐
- 使用FilenameFilter实现图片过滤- -
- 使用FilenameFilter实现图片过滤,只要.gif,.jpg,.png文件。
- FilenameFilter文件名过滤器——列出指定类型文件实现
- FilenameFilter文件名过滤器——列出指定类型文件实现
- Java I/O之用FilenameFilter实现根据文件扩展名删除文件
- java--FilenameFilter文件过滤器
- Java I/O之用FilenameFilter实现根据文件扩展名删除文件
- FilenameFilter的使用(过滤图片)
- 利用html5的FileReader对象实现图片预览,利用FormData对象结合struts2实现无刷新文件上传(多参数)
- Java I/O之用FilenameFilter实现根据文件扩展名删除文件
- 利用filereader实现在线预览图片功能
- Java 利用过滤器Filter 实现登录过滤
- [疯狂Java]I/O:File(文件类,也是文件流的节点)、FilenameFilter(文件过滤器)
- 利用过滤器(Filter)实现自动登录功能
- FilenameFilter文件名称过滤器
- Command设计模式-文件过滤器FilenameFilter
- 利用FileReader实现客户端预览图片
- 利用 GetModuleFileName获取exe文件路径,,以显示bmp, jpg, png图片
- 利用FileReader实现图片预览
- 利用zend framework的Zend_File_Transfer_Adapter_Http类实现多个图片的上传