通过java遍历文件夹的文件并通过条件筛选

  • Post author:
  • Post category:java


1.获取文件夹的路径payh

2.创建一个存储file的集合

3.

private void extractedFile(List fileList, String path) {

    File file = new File(path);
    // 判断参数path,路径是否存在
    if (!file.exists()) {
        throw new BusinessException(String.format("路径[%s]不存在。", path));
    }

    // 判断参数path,是否是文件(只在第一次调用该方法时有用,第二次递归进入该方法,肯定不是文件,而是文件夹)
    if (file.isFile()) {
        fileList.add(file.getAbsolutePath());
        throw new BusinessException("不是文件");
    }

    // 判断参数apth, 是否是空文件夹
    File[] files = file.listFiles();
    if (files == null) {
        throw new BusinessException(String.format("路径[%s]是一个空文件夹。", path));
    }

    // 遍历
    for (File file1 : files) {
        if (!file1.isDirectory()) {
            fileList.add(file1);
            System.out.println(String.format("文件:%s", file1.getAbsolutePath()));
        }
    }
}将获取到的file文件放入集合中

4.将集合通过条件筛选

List returnList =  fileList.stream().filter(file -> file.getName().contains(pageMap.get("name"))).sorted(Comparator.comparing(File::getName)).map(file -> {return file.getAbsolutePath();}).collect(Collectors.toList());

筛选出符合条件的文件名,通过名称排序,然后获取文件名称的集合

(可以应用日志)



版权声明:本文为leese233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。