FilenameFilter顾名思义,就是通过名字来过滤掉一些文件。
这个接口很简单, 不用多解释, 就只有一个accept方法:
boolean accept(File dir, String name);
那来看看第一种实现 - 创建一个实现类
public class ForFun {
public static void main(String[] args) {
File path = new File(".");
String[] nameList = path.list(new DirFilter(".class"));
for (String name : nameList) {
System.out.println(name);
}
}
static class DirFilter implements FilenameFilter {
private String filter;
public DirFilter(String filter) {
this.filter = filter;
}
@Override
public boolean accept(File dir, String name) {
String f = new File(name).getName();
return f.indexOf(filter) != -1;
}
}
}
意图很明确, 就是要打印出当前目录下面含有".class"的所有文件。
第二种实现, 使用匿名类
public class ForFun {
public static void main(String[] args) {
File path = new File(".");
String[] nameList = path.list(filter(".class"));
for (String name : nameList) {
System.out.println(name);
}
}
public static FilenameFilter filter(final String filterName) {
return new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
String f = new File(name).getName();
return f.indexOf(filterName) != -1;
}
};
}
}
好, 这样也是没问题的。 接下来更简短, 但个人觉得没必要, 程序的可读性不好
public class ForFun {
public static void main(String[] args) {
File path = new File(".");
String[] nameList = path.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
String f = new File(name).getName();
return f.indexOf(".class") != -1;
}
});
for (String name : nameList) {
System.out.println(name);
}
}
}
分享到:
相关推荐
FilenameFilter 接口 过滤指定类型的文件,下面的程序就是过滤出D://zhang//root目录下的 .java 的文件。 - -
FilenameFilter的用法 FilenameFilter是一个接口,它本身最大的作用就是在File文件夹对像的list和listFiles方法中做文件过滤使用。
主要介绍了Java使用FilenameFilter查找出目录下指定后缀的文件,结合实例形式分析了java基于FilenameFilter类的文件遍历、查找相关操作技巧,需要的朋友可以参考下
主要为大家详细介绍了java文件过滤类FileFilter和FilenameFilter,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
String [] name=f.list(new FilenameFilter() { public boolean accept(File dir, String name) { return name.toLowerCase().endsWith(".zip"); } }); File [] files=f.listFiles(new ...
字符编码检测和转换 附件中: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....
* 3.String[] list(FilenameFilter filter) 获取根据文件名过滤后的文件名 FilenameFilter:文件名过滤器接口 4.File[] listFiles(FilenameFilter filter) 获取根据文件名过滤后的文件对象 ...
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 ...
4、Java FilenameFilter类的使用:遍历指定后缀名的文件 5、Java中字符串的处理:String类和StringBuffer类,substring()、indexOf()、lastIndexOf()、replace()、replaceAll()、trim()、toLowerCase()、endsWith()...
图片浏览器 (后面附有完整代码) 一、需求分析 1、首先。... } } private File[] initImageSets1(File pictureDir){ return pictureDir.listFiles(new FilenameFilter(){ public boolean accept(File dir,Strin
003 import java.io.FilenameFilter; 004 import java.io.IOException; 005 import java.util.ArrayList; 006 import java.util.List; 007 008 import android.app.ListActivity; 009 import android....
FilenameFilter 实现此接口的类实例可用于过滤器文件名。 Flushable Flushable 是可刷新数据的目标地。 ObjectInput ObjectInput 扩展 DataInput 接口以包含对象的读操作。 ObjectInputValidation 允许验证图形中...
java的FilenameFilter实现的文件过滤
这个是用FilenameFilter 做的过滤 .java文件,当然可以过滤其他的,比较简单的一个demo,新手适用。可以看看。不喜勿喷呀。谢谢。
KRemote Files v1.0-用户指南 服务器文件管理器servlet 配置webapp web.xml 配置器基础 FileConfigurator界面 ...使用FilenameFilter和FileFilter 处理RemoteFile方法引发的异常 使用RemoteFile的示例 RemoteIn
python 的fnmatch 还真是省心,相比于 java 中的FilenameFilter ,真是好太多了,你完成不需要去实现什么接口。 fnmatch 配合 os.walk() 或者 os.listdir() ,你能做的事太多了,而且用起来相当 easy。 # coding: ...
实现FilenameFilter接口来对文件做出过滤 2、关与给匿名类需要传入final参数问题 匿名内部类编译时,会单独生成一个class文件,该类持有外部类的引用,传入的参数都会自动复制一份。那么传入的参数 与 内部类实际...
这个项目被放弃了。 这是一个简单的Java库,用于构造实现Java接口FilenameFilter的正确对象,以使用正则表达式作为文件名过滤器。