FilenameFilter的使用(过滤图片)
来源:互联网 发布:java单点登录 编辑:程序博客网 时间:2024/05/16 03:55
- public class ImageFilter implements FilenameFilter{
- public boolean isGif(String file) {
- if (file.toLowerCase().endsWith(".gif")){
- return true;
- }else{
- return false;
- }
- }
- public boolean isJpg(String file){
- if (file.toLowerCase().endsWith(".jpg")){
- return true;
- }else{
- return false;
- }
- }
- public boolean isPng(String file){
- if (file.toLowerCase().endsWith(".png")){
- return true;
- }else{
- return false;
- }
- }
- public boolean accept(File dir,String fname){
- return (isGif(fname) || isJpg(fname) || isPng(fname));
- }
- }
================================
- public class ImageFilterTest{
- public static void main(String[] args){
- File directory=new File("E://program//FilenameFilter//images");
- String[] images = directory.list(new ImageFilter());
- System.out.println("size="+images.length);
- for (int i = 0; i < images.length; i++){
- String imgfile=images[i];
- System.out.println("imgfile="+imgfile);
- }
- }
- }
===================================
ImageFilter 类对象的任务就是提供一个accept( )的方法。之所以要创建这个类,就是要给list( )提供一个accept( )方法,这样当list( )判断该返回哪些文件名的时候,能够"回过头来调用"accept( )方法。因此,这种结构通常被称为回调(callback)。更准确地说,由于list( )实现了基本功能,而FilenameFilter提供了"对外服务所需的算法",因此这是一种"策略模式(Strategy Pattern)"。由于list( )拿FilenameFilter对象当参数,因此你可以将任何实现FilenameFilter接口的对象传给它,并以此(甚至是在运行时)控制list( )的工作方式。回调能提高程序的灵活性。
- FilenameFilter的使用(过滤图片)
- 使用FilenameFilter实现图片过滤- -
- 使用FilenameFilter实现图片过滤
- 使用FilenameFilter实现图片过滤,只要.gif,.jpg,.png文件。
- Java使用FilenameFilter过滤文件
- java 提供的文件过滤类FilenameFilter使用
- Java.io.FilenameFilter文件名过滤接口的使用。
- 使用FilenameFilter过滤出文件夹下的指定文件
- FilenameFilter的使用
- FilenameFilter 的使用
- FilenameFilter的使用
- FilenameFilter的使用
- filenamefilter 过滤器的使用
- FilenameFilter的使用
- FilenameFilter的使用
- FilenameFilter接口修饰的文件过滤实例
- FileNameFilter文件过滤
- 文件过滤FilenameFilter
- 程序员人生规划
- 进程与线程的区别
- Hibernate中一对多 List的bug
- asp.net 学习资源
- static和extern c
- FilenameFilter的使用(过滤图片)
- 高效维护数据库的关键技巧
- 关于preivew和take picture的协调
- Php--问题汇总解答 总会
- java.util.Date 与 java.sql.Date互转 及 字符串转换为日期时间格式
- Knuth:多核是“白日梦”?不追技术时髦?
- 各种多媒体格式以及codec简析
- 没清除DataGridView列所导致列数显示混乱的解决方法
- 简单说说android的线程封装