使用FilenameFilter来得到指定文件后缀的文件目录集合

package com.hm.test18.javaIoFileNameFileter;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;

public class DirList {
public static void main(String[] args) {
File path = new File(“d:/”); //指定目录
String[] list = path.list(new DirFilter(“.java”)); //得到指定目录下 所有.java 后缀的文件
Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);//对过滤得到的目录集合按字母进行排序
for (String s : list) {
System.out.println(s); //循环打印得到的文件目录集合
}
}
}

class DirFilter implements FilenameFilter {
private String pattern;
public DirFilter(String regex) {
this.pattern = regex;
}
@Override
public boolean accept(File dir, String name) {
return name.endsWith(pattern); //endsWith 通过指定目录得到的文件名 是否以指定后缀结束
}
}
创建 DirFilter 这个类的目的是在于把accept()方法提供给list()(上边那个File对象的list()方法)使用,使list()可以回调accept(),进而决定哪些文件包含在列表中。
accept()方法必须接受一个代表某个特定文件所在目录的File对象,以及包含了那个文件名的一个String。File对象的list()方法会为此目录对象下的每个文件名调用accept(),来判断该文件是否包含在内;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值