博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#实现大数据量TXT文本数据快速高效去重
阅读量:5889 次
发布时间:2019-06-19

本文共 1400 字,大约阅读时间需要 4 分钟。

原文
对几千万的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
previousLines = new HashSet
(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万数据的处理时间也就是转瞬之间,试试看?

转载地址:http://qtysx.baihongyu.com/

你可能感兴趣的文章
步步为营Hibernate全攻略(一)构建Hibernate框架环境
查看>>
【开放源代码】【谐波数据生成器】【上位机软件】(版本:0.00)
查看>>
Hibernate基础-HelloWord
查看>>
Android Studio系列教程四--Gradle基础
查看>>
添加cordova-plugin-file-opener2后,打包出错
查看>>
python 重载方法有哪些特点 - 老王python - 博客园
查看>>
在Fedora8上安装MySQL5.0.45的过程
查看>>
TCP长连接与短连接的区别
查看>>
设计模式之命令模式
查看>>
android 测试 mondey
查看>>
Spring AOP项目应用——方法入参校验 & 日志横切
查看>>
TestNG 六 测试结果
查看>>
用Fiddler或Charles进行mock数据搭建测试环境
查看>>
使用REST-Assured对API接口进行自动化测试
查看>>
GitHub发布史上最大更新,年度报告出炉!
查看>>
王潮歌跨界指导HUAWEI P20系列发布会 颠覆传统 眼界大开!
查看>>
王高飞:微博已收购一直播 明年一季度重点是功能与流量打通
查看>>
趣头条发行区间7至9美元 预计9月14日美国上市
查看>>
新北市长侯友宜:两岸交流应从隔壁最亲近的人开始
查看>>
全面屏的Nokia X即将上线,不到2000元的信仰你要充值吗?
查看>>