我正在尝试在并行文件流中搜索字符串。 (outputLines =) 这一步编译错误。我无法弄清楚问题所在。请帮忙。我需要保留 inputFiles.parallelStream() 的代码,然后我需要逐行读取文件,然后搜索字符串。我不能这样做。请指教。谢谢。
public List<String> searchForText(List<Path> inputFiles, String SEARCH_TOKEN) {
List<String> outputLines = new ArrayList<>();
inputFiles.parallelStream().forEach(path -> {
try (Stream<String> lines = Files.lines(path)) {
outputLines = lines.filter(a -> a.trim().contains(SEARCH_TOKEN)).collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
});
return outputLines;
}
我尝试了多种方法将该行添加到 outputLines,但因为它在 lambda 表达式中被调用,所以它迫使我最终确定。当有嵌套的 lambda 表达式时,如何从内部 lambda 表达式添加到外部 lambda 表达式的列表。请指教。