我知道Files.list(路径)在内部使用Files.newDirectoryStream(路径),基本上只是封装DirectoryStream。
Files.list的实现,内部DirectoryStream引发的异常将被包装在UncheckedIOException中。有什么我该知道的吗?发布于 2015-11-12 10:17:50
for(Path path : dirStream)),请使用newDirectoryStream。如果您想要利用Stream操作(如map、filter、sorted等),请使用list。Files.list遍历期间发生的任何异常都将从DirectoryIteratorException转换为UncheckedIOException。另一个细微的区别是,分配器显式地报告了DISTINCT特性,所以如果您执行Files.list().distinct(),distinct()步骤将被优化(众所周知,元素是不同的)。当使用Iterable.spliterator()默认实现时,将不会执行此优化。UncheckedIOException (例如,由于访问网络文件夹时的网络超时)。https://stackoverflow.com/questions/33668859
复制相似问题