c#比较两个文本文件并生成一个带有差异的新文件

Owe*_*enS 2 c# text compare file

我正在寻找快速比较2个文本文件(+ -15000lines)的最佳方法,并获得两个文件中不同的输出字符串.第一个是旧库存,新的是当前库存,我想生成第三个包含file2和file1之间不同的字符串.(2个文件中有95%会相似).

Tim*_*ter 9

非常简单的方法,假设类似的方法相等:

var file1Lines = File.ReadLines(file1Path);
var file2Lines = File.ReadLines(file2Path);
IEnumerable<String> inFirstNotInSecond = file1Lines.Except(file2Lines);
IEnumerable<String> inSecondNotInFirst = file2Lines.Except(file1Lines);
Run Code Online (Sandbox Code Playgroud)

您可以使用foreach枚举行.

  • @OwenS:有一个很大的区别:`ReadLines`将流线(如'Streamreader`),而`ReadAllLines`将**所有**行读入`String []`(在内存中).所以第一个不使用内存,第二个将全部放入内存.因此,如果你有足够的内存并且文件不是太大,你可以使用`File.ReadAllLines`.请注意,内存消耗和_performance_不一定相关. (3认同)