Thi*_*ler 20 java java-8 java-stream
在阅读API时,DirectoryStream我错过了很多功能.首先,它建议使用for循环从流到List.我想念它DirectoryStream不是一个事实Stream.
我怎样才能让一个Stream<Path>从DirectoryStreamJava中8?
Hol*_*ger 33
虽然可以使用其方法将a转换DirectoryStream为a ,但没有理由这样做.只需创建一个首先.StreamspliteratorStream<Path>
例如,而不是Files.newDirectoryStream(Path)只是打电话Files.list(Path).
其中的重载newDirectoryStream接受一个额外的Filter可能被替换,Files.list(Path).filter(Predicate)并且还有其他操作,例如Files.find并Files.walk返回a Stream<Path>,但是,我没有找到替换你想要使用"glob模式"的情况.这似乎是将a DirectoryStream转换为a Stream可能有用的唯一情况(我更喜欢使用正则表达式)...
ass*_*ias 14
DirectoryStream是不是Stream(自Java 7以来,在Java 8中引入了流API之前),但它实现了Iterable<Path>接口,因此您可以编写:
try (DirectoryStream<Path> ds = ...) {
Stream<Path> s = StreamSupport.stream(ds.spliterator(), false);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5774 次 |
| 最近记录: |