我正在解析一个非常大的记录文件(每行一个,每个不同长度),我想跟踪我在文件中读取的字节数,以便在发生失败。
我写了以下内容:
using (TextReader myTextReader = CreateTextReader())
{
string record = myTextReader.ReadLine();
bytesRead += record.Length;
ParseRecord(record);
}
但是,这不起作用,因为ReadLine()
删除了该行中的任何 CR/LF 字符。此外,一行可以由 CR、LF 或 CRLF 字符终止,这意味着我不能只将 1 添加到bytesRead
.
ReadLine()
有没有一种简单的方法来获得实际的行长,或者我是否根据粒度操作编写自己的方法Read()
?