如何从目录流制作流
2022-09-01 18:16:52
虽然可以将 a 转换为 using 其方法,但没有理由这样做。只需首先创建一个。DirectoryStream
Stream
spliterator
Stream<Path>
例如,无需调用 Files.newDirectoryStream(Path),
只需调用 Files.list(Path)。
接受附加的newDirectoryStream
的重载可能会被替换,并且还有其他操作,如Files.find
和Files.walk
返回一个,但是,我没有找到您想要使用“glob模式”的情况的替代品。这似乎是将a翻译成a可能有用的唯一情况(无论如何,我更喜欢使用正则表达式)......Filter
Files.list(Path).filter(Predicate)
Stream<Path>
DirectoryStream
Stream
DirectoryStream
不是 a(它自 Java 7 以来就已经存在了,在 Java 8 中引入 streams api 之前),但它实现了接口,因此您可以编写:Stream
Iterable<Path>
try (DirectoryStream<Path> ds = ...) {
Stream<Path> s = StreamSupport.stream(ds.spliterator(), false);
}