我有一个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++;
    }
}

最佳答案

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

否则,您可以使用StreamReader.ReadLine

10-08 00:09
查看更多