我正在寻找快速比较2个文本文件( -15000线)的最佳方法,并作为两个文件中有所不同的输出字符串。第一个是一个旧的库存,新的库存是当前的库存,我想生成第三个库存,其中包含File2&amp之间不同的字符串;文件1。(这两个文件中有95%是相似的)。
非常简单的方法,假设相似表示等于:
var file1Lines = File.ReadLines(file1Path);
var file2Lines = File.ReadLines(file2Path);
IEnumerable<String> inFirstNotInSecond = file1Lines.Except(file2Lines);
IEnumerable<String> inSecondNotInFirst = file2Lines.Except(file1Lines);
您可以使用foreach
列举行。
您可以从Google中使用此diff库。查看采用2个字符串并返回差异列表的diff_main方法。
如果输出的顺序相同,请直接比较行。当另一个文件中缺少该值时,您可能需要跳过行。
但是,如果输出不相同,则您可能需要将文件加载到内存中,并从一个文件中查找相关的库存项目。然后在未建立或不同时做任何您需要的事情。