我正在循环访问一个大文件的每一行,起诉这个直接的代码: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 关注
- 95 浏览
添加回答
举报
0/150
提交
取消