FilenameFilte的使用

转载 2011年01月13日 09:08:00

使用FilenameFilter实现图片过滤,只要.gif,.jpg,.png文件。

java 代码
  1. public class ImageFilter  implements FilenameFilter{   
  2.   
  3.   public boolean isGif(String file) {   
  4.     if (file.toLowerCase().endsWith(".gif")){   
  5.       return true;   
  6.     }else{   
  7.       return false;   
  8.     }   
  9.   }   
  10.   public boolean isJpg(String file){   
  11.     if (file.toLowerCase().endsWith(".jpg")){   
  12.       return true;   
  13.     }else{   
  14.       return false;   
  15.     }   
  16.   }   
  17.   
  18.   public boolean isPng(String file){   
  19.     if (file.toLowerCase().endsWith(".png")){   
  20.       return true;   
  21.     }else{   
  22.       return false;   
  23.     }   
  24.   }   
  25.   public boolean accept(File dir,String fname){   
  26.     return (isGif(fname) || isJpg(fname) || isPng(fname));   
  27.   
  28.   }   
  29.   
  30. }   
  31.   

程序测试类:

java 代码
  1. public class ImageFilterTest{   
  2.     public static void main(String[] args){   
  3.         File directory=new File("E://program//FilenameFilter//images");   
  4.         String[] images = directory.list(new ImageFilter());   
  5.         System.out.println("size="+images.length);   
  6.         for (int i = 0; i < images.length; i++){   
  7.              String imgfile=images[i];   
  8.              System.out.println("imgfile="+imgfile);   
  9.         }   
  10.     }   
  11. }   

ImageFilter 类对象的任务就是提供一个accept( )的方法。之所以要创建这个类,就是要给list( )提供一个accept( )方法,这样当list( )判断该返回哪些文件名的时候,能够"回过头来调用"accept( )方法。因此,这种结构通常被称为回调(callback)。更准确地说,由于list( )实现了基本功能,而FilenameFilter提供了"对外服务所需的算法",因此这是一种"策略模式(Strategy Pattern)"。由于list( )FilenameFilter对象当参数,因此你可以将任何实现FilenameFilter接口的对象传给它,并以此(甚至是在运行时)控制list( )的工作方式。回调能提高程序的灵活性

java-File基本操作:FilenameFilte…

import java.io.*; class FileDemo {  public static void main(String[] args)  {   //过滤器   //useMySuffi...
  • z_Dendy
  • z_Dendy
  • 2013年09月18日 14:23
  • 535

Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte

File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作。 File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创...
  • hejjunlin
  • hejjunlin
  • 2014年03月29日 07:53
  • 1944

Struts2的简单使用(一)

今天学习了一下Struts2框架的搭配~ 也简单的使用Struts2框架学习了Action和怎么使用核心配置文件struts.xml~ 主要实现了网页上的简单登录注册~ 项目结构如图: 写了俩...
  • qq_33642117
  • qq_33642117
  • 2016年07月11日 20:51
  • 1205

AngularJS 的基础使用

AngularJS 把应用程序数据绑定到 HTML 元素。 AngularJS 可以克隆和重复 HTML 元素。 AngularJS 可以隐藏和显示 HTML 元素。 AngularJS 可以在 HT...
  • zhaodongwoshini
  • zhaodongwoshini
  • 2016年11月21日 23:42
  • 1234

构造函数的用法学习

1。如果不为类编写构造函数,编译器就会创建一个默认的构造函数,运行时会在创建新对象时调用它。 2。构造函数互相之间的可链接关系using System; namespace Webtest{     ...
  • lovelxj
  • lovelxj
  • 2005年02月16日 11:56
  • 2260

在Oracle中索引的使用

索引是由Oracle维护的可选结构,为数据提供快速的访问。准确地判断在什么地方需要使用索引是困难的,使用索引有利于调节检索速度。 当建立一个索引时,必须指定用于跟踪的表名以及一个或多个表列。一旦建立了...
  • ysyn1209
  • ysyn1209
  • 2016年04月22日 23:44
  • 7269

weblogic使用简介

 (1)安装weblogic,默认安装即可;  (2)在开始菜单中选择Weblogic 的Configuration新建weblogic配置     在BEA Weblogic Congigurati...
  • hxmcGu
  • hxmcGu
  • 2007年06月25日 13:35
  • 3770

MyBatis基本使用步骤

MyBatis是一个数据持久层(ORM)框架。把实体 类和SQL语句之间建立了映射关系,是一种半自 动化的ORM实现。MyBATIS需要开发人员自己来写sql语句,这可以增加了程序的灵活性,在一定程度...
  • archer119
  • archer119
  • 2016年06月01日 23:27
  • 3365

请求资源正在使用中的解决办法

重新注册以下两个文件即可:regsvr32 jscript.dll (命令功能:修复Java动态链接库)regsvr32 vbscript.dll (命令功能:修复VB动态链接库)  ...
  • flcandclf
  • flcandclf
  • 2007年08月08日 09:15
  • 1983

libxls库的使用

头文件xls.h 链接库xlsreader xlsWorkBook *pWb=NULL;//文件 xlsWorkSheet *pWs; //Sheet xlsRow *row_curr...
  • qq_33335872
  • qq_33335872
  • 2017年08月09日 17:17
  • 317
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FilenameFilte的使用
举报原因:
原因补充:

(最多只允许输入30个字)