gpt4 book ai didi

java - 如何比较两个文件并删除不存在的行?

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:58 26 4
gpt4 key购买 nike

与文件 2 相比,我正在尝试从文件 1 中删除不存在的行

示例:

输入

文件1

text
example
word

文件2

example
word

输出

文件1

example
word

我的代码完全相反:它消除了两个文件中的所有重复单词。

我的实际输出是:

文件1

text

代码

BufferedReader reader2 = new BufferedReader(new FileReader(file2));
Set<String> lines2 = new HashSet<String>(10000);
String line2;
while ((line2 = reader.readLine()) != null) {
lines2.add(line);
}
BufferedReader reader = new BufferedReader(new FileReader(file1));
Set<String> lines = new HashSet<String>(10000);
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
Set set3 = new HashSet(lines);
set3.removeAll(lines2);

最佳答案

您需要两个集合之间的交集。现在您正在计算集合之间的对称差。

 public static void main(String []args){

Set<String> file1 = new HashSet<>();
Set<String> file2 = new HashSet<>();

file1.add("text");
file1.add("example");
file1.add("word");

file2.add("example");
file2.add("word");

Set<String> intersection = new HashSet<>(file1);
intersection.retainAll(file2);

System.out.println(intersection);
}

输出:

[word, example]

关于java - 如何比较两个文件并删除不存在的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55423234/

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