gpt4 book ai didi

java - 如何按多个值过滤文件中的行?

转载 作者:行者123 更新时间:2023-12-01 18:35:06 26 4
gpt4 key购买 nike

我有一个文件,我需要从字符串列表中过滤包含字符串的所有行。

您能否建议如何在每次按值过滤时重新打开文件的情况下执行此操作?

这就是我所拥有的:

for (String str : lines){
try (BufferedReader br = new BufferedReader(new FileReader(fileToRead))) {
filteredLines.addAll(br.lines().filter(line -> line.contains(str)).collect(Collectors.toList()));
}
}

我尝试了类似问题的解决方案,但无法使其发挥作用。

提前谢谢您。

最佳答案

如果您想应用过滤器,例如在行中找到任何字符串,请使用 anyMatch ,如下所示。如果您希望所有字符串都必须出现在行中,请将其替换为 allMatch

    List<String> keywords = Arrays.asList("my", "key", "word");

try (BufferedReader br = new BufferedReader(new FileReader("fileToRead"))) {
//this is the filtered lines
List<String> filteredLine = br.lines()
.filter(line -> keywords.stream().anyMatch(line::contains))
.collect(Collectors.toList());
}

关于java - 如何按多个值过滤文件中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60076769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com