我有一个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()我检查必须与一个单词匹配的行的起始单词,并基于该增量增加一个整数变量。
FormatData()
void FormatData(string line) { if (line.StartWith(word)) { globalIntVariable++; } }
如果您使用的是.NET 4.0,请尝试使用 MemoryMappedFile,这是为此方案设计的类。
您可以使用StreamReader.ReadLine其他方式。
StreamReader.ReadLine