Java--FilenameFilter文件过滤器

Java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,其中必须重写accept(File file,String path)方法。

本次以.txt文件格式为例,过滤指定文件目录下的.txt文件。

实例代码如下:

package file;

import java.io.File;

import java.io.FilenameFilter;

/
 * FilenameFilter文件过滤器
 */
public class FileTest {

	public static void main(String[] args) {
		//创建指定目录的文件对象
		File file = new File("D:\\编程代码");   //指定操作路径

		String[] files = file.list(new MyFilenameFilter());
		
		for(String str : files){
			System.out.println(str);   //打印所有.txt文件名称
		}
		
		System.out.println("--------------------\n");
		
		File[] files2 = file.listFiles(new MyFilenameFilter());
		for(File tem : files2){
			System.out.println(tem);  //打印所有.txt文件路径
		}	
	}
}

class MyFilenameFilter implements FilenameFilter{

	@Override
	public boolean accept(File dir, String name) {
		// 判断是否是以指定格式结尾的
		if(name.endsWith(".txt")){
			return true;
			
		}
		return false;
	}
}

程序运行结果:

1.txt
2.txt
English.txt
FileIoHomework01.txt
王尼玛.txt
--------------------

D:\编程代码\1.txt
D:\编程代码\2.txt
D:\编程代码\English.txt
D:\编程代码\FileIoHomework01.txt
D:\编程代码\王尼玛.txt



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值