避免(java.nio.file.AccessDeniedException)的Java 8 Files.walk(..)终止原因[重复]

避免(java.nio.file.AccessDeniedException)的Java 8 Files.walk(..)终止原因[重复],第1张

避免(java.nio.file.AccessDeniedException)的Java 8 Files.walk(..)终止原因[重复] 回答

这是一个临时解决方案,可以改进以使用Java 8 Streams和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 %sn", file);         ++count[0];         return FileVisitResult.CONTINUE;     }     @Override     public FileVisitResult visitFileFailed(Path file, IOException e)   throws IOException {         System.err.printf("Visiting failed for %sn", file);         return FileVisitResult.SKIP_SUBTREE;     }     @Override     public FileVisitResult preVisitDirectory(Path dir,  BasicFileAttributes attrs)   throws IOException {         System.out.printf("about to visit directory %sn", dir);         return FileVisitResult.CONTINUE;     } });} catch (IOException e) {    // handle exception}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存