C# - 如何比较两个不同的文本文件

时间:2011-06-17 16:32:37

标签: c# .net windows

如果有两个文本文件:

FileA.txt
test
1234
testing


FileB.txt
test
5667
pond

并且FileA.txt中的所有匹配项都将从FileB.txt中删除,并输出到FileC.txt

所以FileC.txt会读:

5667
pond

3 个答案:

答案 0 :(得分:4)

File.WriteAllLines("FileC.txt",
  File.ReadAllLines("FileB.txt").Except(File.ReadAllLines("FileA.txt")));

答案 1 :(得分:1)

string fileA, fileB, fileC;
var result = File.ReadAllLines(fileB).Except(File.ReadAllLines(fileA));
File.WriteAllLines(fileC, result);

答案 2 :(得分:0)

我不确定您的文本文件是如何格式化的,但您可以使用StreamReader加载和读取文本行。首先,对A执行此操作,将每行添加到数组中,然后针对B的每一行过滤数组,以查看是否存在匹配项。如果是这样,请在使用StreamWriter创建C之前从B中删除该行。

了解streamreader here。阅读关于streamwriter here