首页 > 编程 > Java > 正文

Java listFiles查找指定类型的文件简单做法

2019-11-06 06:14:39
字体:
来源:转载
供稿:网友

java中获取指定类型的文件,可以用带参数的listFiles的来实现

在网上搜了一些方法,几乎都是新建一个实现FilenameFilter或者FileFilter的类,然后把它作为listFiles的参数

但是在写一些简单的测试代码的时候,我不想新建一个类,而是希望用更快的方法来实现文件的过滤

所以就可以这样写:

File filepath = new File("D://");File[] files = filepath.listFiles(new FilenameFilter() {	@Override	public boolean accept(File file, String s) {		//查找文件名以.jpg结尾的文件		if (s.endsWith(".jpg")) {			return true;		}		return false;	}});

这样直接new一个实现FilenameFilter接口的对象作为listFiles的参数,就不用再新建一个类

listFiles还有另外一个参数FileFilter,也同样可以实现过滤

File[] files = filepath.listFiles(new FileFilter() {	@Override	public boolean accept(File file) {		//查找文件名以.jpg结尾的文件		if (file.getName().endsWith(".jpg")) {			return true;		}		return false;	}});

除此之外,FileFilter还有其他过滤文件的方式,比如

查找所有非文件夹文件:

File[] files = filepath.listFiles(new FileFilter() {	@Override	public boolean accept(File file) {		//查找所有非文件夹文件		if (!file.isDirectory()) {			return true;		}		return false;	}});

查找指定大小的文件:

File[] files = filepath.listFiles(new FileFilter() {	@Override	public boolean accept(File file) {		//查找大于1kb,小于2kb的文件		long length = file.length();		if (length > 1024 && length < 2048) {			return true;		}		return false;	}});个人感觉FileFilter比FilenameFilter更加强大


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表