我正在循環訪問一個大文件的每一行,起訴這個直接的代碼:using (var reader = new StreamReader(@"C:\SomeBigFile.txt")){ while (reader.ReadLine() != null) { var line = reader.ReadLine(); // some more stuff }}在第 7000000 行左右,找到一個空行,并在該讀取器之后。ReadLine() 返回 null。因此代碼終止。但是,當我期望在文本編輯器中文件時,之后肯定會有更多的行,并且我看不到返回空行的行的問題。有沒有辦法讓上面的人真正完成對文件的讀???謝謝!
1 回答

湖上湖
TA貢獻2003條經驗 獲得超2個贊
您正在跳過一行。這就是您丟失數據的原因。
試試這個:
using (var reader = new StreamReader(@"C:\SomeBigFile.txt"))
{
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
// some more stuff
}
}
主要是我用這個:
var filename = @"C:\SomeBigFile.txt";
foreach(var line in File.ReadLines(filename))
{
// ....
}
它返回一個逐行讀取文件的內容。IEnumerable<string>
- 1 回答
- 0 關注
- 80 瀏覽
添加回答
舉報
0/150
提交
取消