如何在.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

+0

谢谢SLaks。它会更快。内存映射文件如何,我可以在我的情况下使用它。 – 2012-03-02 00:12:37