我知道Files.list(路径)在内部使用Files.newDirectoryStream(路径),基本上只是封装DirectoryStream。
Files.list
的实现,内部DirectoryStream引发的异常将被包装在UncheckedIOException
中。有什么我该知道的吗?发布于 2015-11-12 02: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
复制