为了账号安全,请及时绑定邮箱和手机立即绑定

代码在循环访问大文件时过早终止

代码在循环访问大文件时过早终止

C#
天涯尽头无女友 2022-08-20 16:13:49
我正在循环访问一个大文件的每一行,起诉这个直接的代码: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>


查看完整回答
反对 回复 2022-08-20
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号