java - 如何使用Java的目录流仅获取目录内的文件/子目录而不是其他子目录

标签 java file path directorystream

我正在使用 Java 的 DirectoryStream 来获取目录中所有文件/子文件夹的列表。但是,在遍历目录的所有文件和文件夹后,我的代码将继续遍历所有子目录。我怎样才能阻止它也遍历我的子目录?

    try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
        for (Path entry : stream) {
            list.add(entry.getFileName().toString());
            System.out.println(entry.getFileName());
        }
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }

最佳答案

尝试:

       for (Path entry : stream) {
            System.out.println(entry.getFileName() + " | " + entry.toFile().isDirectory());
            if (!entry.toFile().isDirectory()) {
                list.add(entry.getFileName().toString());
            }
        }

关于java - 如何使用Java的目录流仅获取目录内的文件/子目录而不是其他子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194581/

相关文章:

Java - 创建模拟浏览器

java - 文件写入器中现有多行字符串的新行

java - 未设置引导类路径

java数组打印星号方框

c++ - 使用非相对路径的 'include' 语句的 g++ 编译 (C++)

python - 打开文件夹中的所有文档并将它们放入列表中

perl - 如何在 Perl 中锁定文件?

AngularJS - 使用 FileReader API 上传和显示图像(多个文件)

windows - 有没有办法将 UNC 路径映射到 Windows 2003 上的本地文件夹?

flutter CustomPainter - 如何在线路径中切出一个洞