我有一个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
。