FilenameFilter过滤器接口

  1. java.io.FilenameFilter接口,实现此接口的类实列可用于过滤器文件名
    File[] listFilter(FilenameFilter filter)
  2. 作用
    用于过滤文件名称
  3. 抽象方法:用于过滤文件的方法
    boolean accept(File dir,String name) 测试指定的文件是否应该包含在某一文件列表中
    参数:
    File dir: 构造方法中的传递的被遍历的目录
    String name:使用listFiler方法遍历目录,获取的么一个文件或文件夹的名称
  4. 注意:
    两个过滤器接口是没有实现类的,需要我们自己定义实现类,重写过滤方法accept,在方法中自己定义过滤器规则
    代码:
public static void main(String[] args) {
        //构建一个File对象得到C:\Users\admin\Desktop\Hello路径
        File file = new File("C:\\Users\\admin\\Desktop\\Hello");
        getAllTxt(file);
}

// FilenameFilter接口
// 匿名内部类的写法
File[] files = dir.listFiles(new FilenameFilter(){
	@Override
	public boolean accept(File dir,String name){
		return new File(dir, name).isDirectory() || name.toLowerCase().endsWith(".txt");
	}
});
// 使用Lambda表达式优化
File[] files = dir.listFiles((File d,String name) -> {
	return new File(d,name).isDirectory() || name.toLowerCase().endsWith(".txt");
});
// 可以使用Lambda表达式再次优化下代码
File[] files = dir.listFiles((d, name) -> new File(d,name).isDirectory() || name.toLowerCase().endsWith(".txt"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值