【发布时间】:2019-04-07 02:11:33
【问题描述】:
我创建了一个Stream 以递归方式运行多个文件和文件夹。我需要将Stream 的结果转换为Array 并遍历Array 的结果。
以下代码有问题:
try (Stream<Path> stream = Files.walk(start, Integer.MAX_VALUE)) {
List<String> collect = stream
.stream().map(x->x.getName())
.filter(s -> s.toString().endsWith(".txt"))
.sorted()
.collect(Collectors.toList())
.toArray();
collect.forEach(System.out::println);
}
String[] listfiles = new String[stream.length];
for (int i = 0; i < stream.length; i++) {
listfiles[i] = stream[].getName();
}
【问题讨论】:
-
什么问题?编译错误?运行时错误?它运行但“不起作用”?
-
我遇到的问题如下:
The method stream() is undefined for the type Stream<Path>stream cannot be resolved to a variable -
删除
.stream()调用。
标签: java arrays stream java-stream