- 浏览: 162329 次
文章分类
最新评论
-
sydneytsao2:
gfs球棒gsd
Java设计模式——六大原则 -
涛涛饭:
memoryisking 写道可以看看这篇文章,构建一个简单的 ...
Java线程池使用说明 -
a492846462:
Java线程池使用说明 -
sprita1:
资源很好很强大,对楼主膜拜中.....
Java线程池使用说明 -
memoryisking:
可以看看这篇文章,构建一个简单的线程池:http://www. ...
Java线程池使用说明
现在假设我们想观看一个目录列表。可用两种方式列出File对象。若在不含自变量(参数)的情况下调用list(),会获得File对象包含的一个完整列表。然而,若想对这个列表进行某些限制,就需要使用一个“目录过滤器”,该类的作用是指出应如何选择File对象来完成显示。
下面是用于这个例子的几段代码:
package IO;
import java.io.File;
import java.io.FilenameFilter;
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);
}
}
}
下例用一个匿名内部类(已在第7章讲述)来重写显得非常理想。首先创建了一个filter()方法,它返回指向FilenameFilter的一个句柄:
package IO;
import java.io.File;
import java.io.FilenameFilter;
public class ImageFilterTestInner {
public static FilenameFilter filter(final String afn){
return new 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 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);
}
}
}
注意filter()的自变量必须是final。这一点是匿名内部类要求的,使其能使用来自本身作用域以外的一个对象。之所以认为这样做更好,是由于FilenameFilter类现在同ImageFilterTestInner 紧密地结合在一起。然而,我们可采取进一步的操作,将匿名内部类定义成list()的一个参数,使其显得更加精简。如下所示:
package IO;
import java.io.File;
import java.io.FilenameFilter;
public class ImageFilterTestInner1 {
public static void main(String[] args){
File directory=new File("E:\\program\\FilenameFilter\\images");
String[] images = directory.list(new FilenameFilter(){
public boolean accept(File dir,String fname){
return (isGif(fname) || isJpg(fname) || isPng(fname));
}
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;
}
}
});
System.out.println("size="+images.length);
for (int i = 0; i < images.length; i++){
String imgfile=images[i];
System.out.println("imgfile="+imgfile);
}
}
}
发表评论
-
设置session失效的几种方法
2013-12-12 09:30 593设置session失效的几种 ... -
Java性能基础-Java堆内存
2013-01-25 15:25 1086导读:对于程序员来说,知道堆空间,设置堆空间,处理堆空间的o ... -
Collection框架
2013-01-25 15:13 1071Collection框架 集合框架 ... -
为什么匿名内部类只能访问其所在方法中的final变量
2013-01-25 14:48 818(1).内部类是外部类的一个成员,就像外部类的成员方法一样,所 ... -
Tomcat目录及server.xml详解
2012-09-11 13:23 851本文参考自:Tomcat全 ... -
java获得项目绝对路径
2012-09-05 11:16 5169在jsp和class文件中调用的相对路径不同。在 ... -
HttpURLConnection用法详解
2012-09-03 11:35 949HttpURLConnectio ... -
Java简单问题
2012-08-14 22:56 9001.HashMap和HashTable区别 Has ... -
Java中的finalize
2012-08-02 13:14 855Java中finalize() ... -
编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad
2012-08-02 11:54 2795编写一个程序,将d:\java目录下的所有.java文件复制到 ... -
问题列表
2012-07-27 17:17 3381.描述一下JVM加载class文件的原理机制? 2.试举例说 ... -
死锁是什么
2012-07-27 13:10 821在并发程序设计中,死 ... -
Java内存分配:Java堆.栈和常量池
2012-07-26 17:31 712Java堆.栈和常量池 博 ... -
BigInteger、BigDecimal详解
2012-07-26 17:22 1454BigInteger、BigDecimal详解 ... -
Java集合总结
2012-07-25 17:11 1225在Java中使用Set,可以方 ... -
String.replaceAll() 正则表达式
2012-07-19 15:46 1099最近项目中出现了一个 ... -
问题列表
2012-07-19 15:45 703问题1:list中是string,最快的排序 List li ... -
WebService基本原理
2012-07-19 10:17 697Web 服务有两层含义:1、是指封装成单个实体并发布到网络上的 ... -
重写equal 的同时为什么必须重写hashcode?
2012-07-18 17:09 1156分类: java 2011-10-21 11:33 1 ... -
web.xml
2012-07-18 08:39 695web.xml 中的listener、 filter、serv ...
相关推荐
FilenameFilter的用法 FilenameFilter是一个接口,它本身最大的作用就是在File文件夹对像的list和listFiles方法中做文件过滤使用。
FilenameFilter 接口 过滤指定类型的文件,下面的程序就是过滤出D://zhang//root目录下的 .java 的文件。 - -
主要介绍了Java使用FilenameFilter查找出目录下指定后缀的文件,结合实例形式分析了java基于FilenameFilter类的文件遍历、查找相关操作技巧,需要的朋友可以参考下
主要为大家详细介绍了java文件过滤类FileFilter和FilenameFilter,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
5、Java中字符串的处理:String类和StringBuffer类,substring()、indexOf()、lastIndexOf()、replace()、replaceAll()、trim()、toLowerCase()、endsWith()、equals()、split()等方法的使用 6、Java类集:List,...
java的FilenameFilter实现的文件过滤
概念:是一种思想,也是一种算法。在方法内部调用自己的方法。(自己干自己) 2. 作用:就是简化有相似的业务逻辑(循环)代码。 3. 使用规律特点: 1. 通过数值带入的方式,查找逻辑规律: 将所有的...
KRemote Files v1.0-用户指南 服务器文件管理器servlet 配置webapp web.xml 配置器基础 FileConfigurator界面 ...使用FilenameFilter和FileFilter 处理RemoteFile方法引发的异常 使用RemoteFile的示例 RemoteIn
ObjectInputStream ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。 ObjectInputStream.GetField 提供对从输入流读取的持久字段的访问权限。 ObjectOutputStream ...
字符编码检测和转换 附件中:FileEncodeDetector.java 此文件可以检测指定文件的编码格式 ... new FilenameFilter() { public boolean accept(File dir, String name) { return name.endsWith(".java"); } });
import java.io.FilenameFilter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.media....
这个是用FilenameFilter 做的过滤 .java文件,当然可以过滤其他的,比较简单的一个demo,新手适用。可以看看。不喜勿喷呀。谢谢。
// 使用renameto方法 System.out.println("文件名是否更改成功:" + f1.renameTo(f2)); // 改名以后的的状态 System.out.println(f1.getName() + "是否存在" + f1.exists()); System.out.println(f2....
class FileName implements FilenameFilter { public boolean accept(File dir,String name) { boolean boo=false; if(name.endsWith(".jpg")||name.endsWith(".JPG")) boo=true; return boo; } } public ...
<br>其类有: <br>PicBrowseFrame.class 图片浏览器的主窗体 <br>ImageFilter.class 图片过滤 <br>FileNameFIlter.class 文件过滤 <br>Uitl.class 文件名后缀解析 <br>JFileChooserCre.class ...
python 的fnmatch 还真是省心,相比于 java 中的FilenameFilter ,真是好太多了,你完成不需要去实现什么接口。 fnmatch 配合 os.walk() 或者 os.listdir() ,你能做的事太多了,而且用起来相当 easy。 # coding: ...
今天在做一个简单的录音机的时候,录音机老是无法正常实例化,不能使用,后来查找问题,一个一个的试,最后确定了,原来是两个设置写反了,却造成了,无法正常工作,真是郁闷啊。找了一个教程看了一下,教程中也没有...
这个项目被放弃了。 这是一个简单的Java库,用于构造实现Java接口FilenameFilter的正确对象,以使用正则表达式作为文件名过滤器。
实现FilenameFilter接口来对文件做出过滤 2、关与给匿名类需要传入final参数问题 匿名内部类编译时,会单独生成一个class文件,该类持有外部类的引用,传入的参数都会自动复制一份。那么传入的参数 与 内部类实际...
图片浏览器 (后面附有完整代码) 一、需求分析 1、首先。... } } private File[] initImageSets1(File pictureDir){ return pictureDir.listFiles(new FilenameFilter(){ public boolean accept(File dir,Strin