Java Files.walk 遇到异常错误后能否继续执行

问题描述

这是我第一次在 Java 中使用 Files.walk,我更喜欢它,尤其是 Path 类。它功能强大且用途广泛。

然而,我不喜欢的是,当遍历文件夹时,如果迭代器遇到障碍......就像它击中了用户无权查看的文件夹或可能遇到的任何错误,抛出异常后,它不会继续,也不会产生要使用的路径列表。

以下是我如何使用该方法的示例:

try {
    Stream<Path> paths    = Files.walk(rootPath);
    List<Path>   pathList = paths.collect(Collectors.toList());
    for (Path path : pathList) {
        //Processing code here
    }
 }
catch (FileSystemException a) {System.err.format("FileSystemException: %s%n",a);System.out.println(a.getStackTrace());}
catch (UncheckedIOException b) {System.err.format("UncheckedIOException: %s%n",b);System.out.println(b.getCause().getLocalizedMessage());}
catch (IOException c) { System.err.format("IOException: %s%n",c);System.out.println(c.getStackTrace());}

现在,如果 Files.walk 方法在尝试遍历文件夹时遇到某种错误,它会抛出异常,然后当然会在捕获异常后继续执行代码。

我想让它做的是忽略它遇到的任何问题,并继续遍历它可以访问的任何文件夹而不会停止。

这可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)