在C#中高效解析大型文本文件

在C#中高效解析大型文本文件,第1张

概述我需要读取一个空间分隔的大文本文件,并计算文件中每个代码的实例数.从本质上讲,这些是运行一些实验数十万次的结果.系统会吐出一个看起来像这样的文本文件: A7PS A8PN A6PP23 ... 实际上有数十万个这样的条目,我需要计算每个代码的出现次数. 我想我可以打开一个StreamReader并逐行浏览,拆分空格字符.查看是否已遇到代码并将该代码的计数加1.但是,考虑到数据的大小,这可能很幼稚. 我需要读取一个空间分隔的大文本文件,并计算文件中每个代码的实例数.从本质上讲,这些是运行一些实验数十万次的结果.系统会吐出一个看起来像这样的文本文件:
A7PS A8PN A6PP23 ...

实际上有数十万个这样的条目,我需要计算每个代码的出现次数.

我想我可以打开一个StreamReader并逐行浏览,拆分空格字符.查看是否已遇到代码并将该代码的计数加1.但是,考虑到数据的大小,这可能很幼稚.

有人知道处理这种处理的有效算法吗?

更新:

好的,所以共识似乎是我的方法是沿着正确的方向

我有兴趣听到的是 – 更有效的 – StreamReader. TextReader,BinaryReader

存储结果字典的最佳结构是什么? Hashtable,SortedList,HybrIDDictionary

如果文件中没有换行符(我还没有给出样本),那么将整个空间分割成效率是不是很低?

从本质上讲,我期待尽可能提高性能

再次感谢

解决方法 你的方法看起来很好.

>每行读入>按空格分割每一行>将记录添加到字典中如果它还不存在如果确实存在,请执行该值

总结

以上是内存溢出为你收集整理的在C#中高效解析大型文本文件全部内容,希望文章能够帮你解决在C#中高效解析大型文本文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1262956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存