java实现简单的文件筛选

package filenameFilter;

import java.io.File;

/*
 * 实现功能:
 * 		获取指定路径下的指定格式的文件; 
 * */

public class Test {

	public static void listPath(File file) {
		// 接收筛选过后的文件对象数组
		//用文件对象调用listFiles(FilenameFilter filter);方法,
		//返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
		File files[] = file.listFiles(new MyFilenameFilter());

		/*//遍历出指定文件路径下符合条件的文件
		for (File f : files) {
			System.out.println(f);
		}*/
		
		//遍历出指定文件路径下的所有符合筛选条件的文件
		for(File f: files){
			if(f.isDirectory()){
				listPath(f);
			}else{
				System.out.println(f);
			}
		}
		
		
		
	}

	public static void main(String[] args) {
		// 创建指定目录的文件对象
		File file = new File("F:\\test");
		// 调用文件晒筛选的方法,并将文件对象出入,
		listPath(file);
	}
}


package filenameFilter;

import java.io.File;

import java.io.FilenameFilter;


//实现FilenameFilter接口,可用于过滤器文件名
//本方法实现的是筛选指定格式结尾的文件
public class MyFilenameFilter implements FilenameFilter {

	/**
	 * @param args
	 * 
	 *            实现功能; 实现FilenameFilter接口,定义出指定的文件筛选器
	 * 
	 */

	
	@Override
	//重写accept方法,测试指定文件是否应该包含在某一文件列表中
	public boolean accept(File dir, String name) {
		// TODO Auto-generated method stub
		// 创建返回值
		boolean flag = true;
		// 定义筛选条件
		//endWith(String str);判断是否是以指定格式结尾的
		if (name.toLowerCase().endsWith(".jpg")) {

		} else if (name.toLowerCase().endsWith(".txt")) {

		} else if (name.toLowerCase().endsWith(".gif")) {

		} else {
			flag = false;
		}
		// 返回定义的返回值
		
		//当返回true时,表示传入的文件满足条件
		return flag;
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值