如何比较两个文本文件的内容和另一个文本文件中的输出?text1-text2



我想做1.txt减去2.txt的内容,并在3.txt中输出。此外,如果2.txt有多余的剩余行,则在4.txt中输出它。

文本文件的内容不是逐行排列的,所以基本上代码只需要删除匹配的行,如下所示:

1.文本包含:

example1
example2
example3

2.txt包含:

example2
example3
example4

3.txt将包含:

example1

4.txt将包含:

example4

使用番石榴:

Set<String> lines1 = 
    new HashSet<>(Files.readLines(new File("1.txt"), Charsets.UTF_8));
Set<String> lines2 = 
    new HashSet<>(Files.readLines(new File("2.txt"), Charsets.UTF_8));
Set<String> minus1 = Sets.difference(lines1, lines2);
Set<String> minus2 = Sets.difference(lines2, lines1);
Files.asCharSink(new File("3.txt"), Charsets.UTF_8).writeLines(minus1);
Files.asCharSink(new File("4.txt"), Charsets.UTF_8).writeLines(minus2);

最新更新