Получение java.nio.file.AccessDeniedException при рекурсивном сборе имен файлов [дубликат]

На самом деле это довольно просто.

Просто зайдите в свой браузер и используйте неправильные учетные данные: http: // имя пользователя: пароль@yourdomain.com

Это должно «вывести вас».

0
задан Community 23 May 2017 в 11:54
поделиться

1 ответ

Ответ

Вот временное решение, которое можно улучшить, чтобы использовать потоки Java 8 и Lambdas.

int[] count = {0};
try {
    Files.walkFileTree(Paths.get(dir.getPath()), new HashSet<FileVisitOption>(Arrays.asList(FileVisitOption.FOLLOW_LINKS)),
            Integer.MAX_VALUE, new SimpleFileVisitor<Path>() {
                @Override
                public FileVisitResult visitFile(Path file , BasicFileAttributes attrs) throws IOException {
                    System.out.printf("Visiting file %s\n", file);
                    ++count[0];

                    return FileVisitResult.CONTINUE;
                }

                @Override
                public FileVisitResult visitFileFailed(Path file , IOException e) throws IOException {
                    System.err.printf("Visiting failed for %s\n", file);

                    return FileVisitResult.SKIP_SUBTREE;
                }

                @Override
                public FileVisitResult preVisitDirectory(Path dir , BasicFileAttributes attrs) throws IOException {
                     System.out.printf("About to visit directory %s\n", dir);
                    return FileVisitResult.CONTINUE;
                }
            });
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
1
ответ дан GOXR3PLUS 18 August 2018 в 04:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: