我是靠谱客的博主 单纯烤鸡,最近开发中收集的这篇文章主要介绍C#实现大数据量TXT文本数据快速高效去重,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文 C#实现大数据量TXT文本数据快速高效去重

对几千万的TXT文本数据进行去重处理,查找其中重复的数据,并移除。尝试了各种方法,下属方法是目前尝试到最快的方法。以下代码将重复和不重复数据进行分文件存放,提升效率的关键是用到了HashSet。
TextReader reader = File.OpenText(m_dataFilePath);
string[] files = new string[2];
files[0] = ROOT_DIR + "不重复数据.txt";
files[1] = ROOT_DIR + "重复数据.txt";
TextWriter writer1 = File.CreateText(files[0]);
TextWriter writer2 = File.CreateText(files[1]);
string currentLine;
int idx = 0;
HashSet<string> previousLines = new HashSet<string>(new MyEqualityComparer());
while ((currentLine = reader.ReadLine()) != null)
{
if ((++idx % 10000) == 0)
UpdateInfo("正在比对第 " + idx + " 条数据…");
currentLine = currentLine.TrimEnd();
if (previousLines.Add(currentLine))
{
writer1.WriteLine(currentLine);
}
else
{
if(m_allSave)
writer2.WriteLine(currentLine);
}
}
reader.Close();
writer1.Close();
writer2.Close();
reader.Dispose();
writer1.Dispose();
writer2.Dispose();
1000万数据的处理时间也就是转瞬之间,试试看?

最后

以上就是单纯烤鸡为你收集整理的C#实现大数据量TXT文本数据快速高效去重的全部内容,希望文章能够帮你解决C#实现大数据量TXT文本数据快速高效去重所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部