我想返回一个路径流(这些是位于某个目录中的文件)。我最初的方法是这样的:
DirectoryStream getFiles(Path dir) throws IOException {
Files.newDirectoryStream(dir);
}
...但是,我想知道上面的片段和第二个片段之间的区别:
Stream<Path> getFiles(Path dir) throws IOException {
Spliterator<Path> spl = Files.newDirectoryStream(dir).spliterator();
return StreamSupport.stream(spl, false);
}
DirectoryStream
和都是Stream
的子接口AutoCloseable
,但除此之外,它们似乎是为不同的目的而设计的。
更准确地说,我的问题是:
Java-8DirectoryStream
和接口之间的概念和基于功能的区别是什么?Stream