一尘不染

如何在.NET中读取大文件(1 GB)?

c#

我有一个1 GB的文本文件,需要逐行读取。最好和最快的方法是什么?

private void ReadTxtFile()
{            
    string filePath = string.Empty;
    filePath = openFileDialog1.FileName;
    if (string.IsNullOrEmpty(filePath))
    {
        using (StreamReader sr = new StreamReader(filePath))
        {
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                FormatData(line);                        
            }
        }
    }
}

FormatData()我检查必须与一个单词匹配的行的起始单词,并基于该增量增加一个整数变量。

void FormatData(string line)
{
    if (line.StartWith(word))
    {
        globalIntVariable++;
    }
}

阅读 422

收藏
2020-05-19

共1个答案

一尘不染

如果您使用的是.NET 4.0,请尝试使用 MemoryMappedFile,这是为此方案设计的类。

您可以使用StreamReader.ReadLine其他方式。

2020-05-19