使用c#删除1TB文本文件中的重复行(或正则表达式电子邮件)?记忆的表现

时间:2017-11-18 14:53:20

标签: c#

   string[] linesm = File.ReadAllLines(openFileDialogP.FileName);
                File.WriteAllLines(tCorrectFileName.Text, linesm.Distinct().ToArray());

string [] linesm = File.ReadAllLines(openFileDialog.FileName); File.WriteAllLines(tCorrectFileName.Text,linesm.Distinct()。ToArray());

1 个答案:

答案 0 :(得分:0)

将整个文件读入内存需要超过1TB的内存,所以你内存不足也就不足为奇了。

您必须逐行读取此文件并逐行写入新文件。提取当前行的电子邮件地址,并(使用类似HashSet的内容跟踪您已经看过的电子邮件地址)如果您已经看过该电子邮件,请不要将该行写入新文件