java工具类之遍历查找指定目录下包含某关键字的所有文件

 一、工具类代码

/**
*@Description: searchFiles
*@Param:  * @Param: folder 文件夹
        * * @Param: keyword 文件名包含的关键字
*@return: java.util.List<java.io.File>
*@Author: Blue Blue
*@date: 2022/1/12 0012 10:01
*/
public static List<File> searchFiles(File folder, String keyword) {
    List<File> result = new ArrayList<>();
    if (folder.isFile()) {
        result.add(folder);
    }
    //遍历文件
    File[] fileList = folder.listFiles(new FileFilter() {
        @Override
        public boolean accept(File file) {
            if (file.isDirectory()) {
                return true;
            }
            if (file.getName().toLowerCase().contains(keyword)) {
                return true;
            }
            return false;
        }
    });

    if (fileList != null) {
        for (File file : fileList) {
            if (file.isFile()) {
                //如果是文件将文件添加到result列表中
                result.add(file);
            } else {
                //如果是文件夹,则递归调用本方法,然后把所有的文件加到result列表中
                result.addAll(searchFiles(file, keyword));
            }
        }
    }
    return result;
}

二、核心代码示例

String path = path + "/" + date + "/" + iceName + "/";
File file = new File(path);
List<File> files = FileUtil.searchFiles(file, iceName);
logger.info("文件路径:{}", path);
if (files.size() <= 0) {
    logger.info("{}——>文件不存在:{}", date, path);
}
for (File file1: files) {
    String fileName = file1.getAbsolutePath();
    logger.info("文件名称:{}", fileName);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值