Как использовать поток каталогов Java для получения файлов / подкаталогов только внутри каталога, а не в других подкаталогах

Я использую DirectoryStream Java, чтобы получить список всех файлов / подпапок в каталоге. Однако, после просмотра всех файлов и папок каталога, мой код переходит к просмотру всех подкаталогов. Как я могу помешать ему пройти через мои подкаталоги?

    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());
    }

1 ответ

Решение

Пытаться:

       for (Path entry : stream) {
            System.out.println(entry.getFileName() + " | " + entry.toFile().isDirectory());
            if (!entry.toFile().isDirectory()) {
                list.add(entry.getFileName().toString());
            }
        }
Другие вопросы по тегам