如何在.net c#中读取非常大的文本文件(以gb为单位)并拆分为小文件
问题描述:
我负责阅读大型文本文件(不是XML),其大小可能为GB。我需要通过检查标题将文件分成更小的块。建议我采取一些方法来实现这一点。示例文本结构将如何在.net c#中读取非常大的文本文件(以gb为单位)并拆分为小文件
示例大文件
header_start
BLAW
BLAW
blawasasdasda
header_start
BLAW
blawasdasda
BLAW
需要分割成
1.TXT header_start
BLAW
BLAW
blawasasdasda
2.txt
header_start
BLAW
blawasdasda
BLAW
请帮助我实现这个.net 4.0用较少的时间
感谢 维韦克
答
为大文件创建一个StreamReader
和循环调用ReadLine()
。
维护当前输出文件的StreamWriter
。
对于每一行,检查它是否为标题,如果是,则在StreamWriter
中打开一个新的目标文件。如果不是,请将该行写入当前的StreamWriter
。
谢谢SLaks。它会更快。内存映射文件如何,我可以在我的情况下使用它。 – 2012-03-02 00:12:37