java - 使用 Java 8 在目录和子目录中查找文件

标签 java java-8 directory filesystems nio

如何在 Java 8 中实现一种算法,给定起始目录和文件名,在给定目录或嵌套深度不超过 5 层的任何子目录中搜索文件。

例如,考虑以下目录结构:

Folder 1
   Folder 2
      Folder 3
        Folder 4
            Folder 5
                Folder 6
                    nfiles.txt....
                MyFile.txt
                xfile.txt
            filesInFolder4....
        filesInFolder3...
   .....

算法应搜索文件夹 5 中包含的文件,并报告给定文件名的文件是否存在?

如何使用 Java 8 做到这一点?

最佳答案

请查看Files.find方法。

try (Stream<Path> stream = Files.find(Paths.get("Folder 1"), 5,
            (path, attr) -> path.getFileName().toString().equals("Myfile.txt") )) {
        System.out.println(stream.findAny().isPresent());
} catch (IOException e) {
        e.printStackTrace();
}

关于java - 使用 Java 8 在目录和子目录中查找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41038005/

相关文章:

java - Spring MVC Hibernate - 使用多个复选框保存对象

java - 使用 Java 锁时出现竞争条件的可能性

Java 8 - 外部迭代比内部迭代表现更好?

lambda - 为什么可以传递方法引用而不是转换器实例?

python - 通过 Snakemake 进行符号链接(symbolic link)(自动生成)目录

Python更改用户目录

python - 最佳实践 - 观看目录的最佳方式是什么

java - Mockito 定义 'when' 调用答案

java - 从 Java 调用 Python 方法时导入 NLTK 失败

java - block 内的类 - 这在哪里有意义?