读取文本文件时,它只读取其中的一部分
本文关键字:读取 一部分 取文本 文件 | 更新日期: 2023-09-27 18:30:23
我正在尝试读取一个大文本文件(4000+ 行)并将每一行输出到控制台。我正在使用以下代码
using (var reader = new StreamReader("list1.txt"))
{
while (!reader.EndOfStream)
Console.WriteLine(reader.ReadLine().Trim());
}
Console.Read();
这会读取行,但问题是读数从第 4113 行开始,而它应该从第一行开始,正确吗?所以这意味着我只能从文本文件中得到 100 行左右的行。为什么会这样?
谢谢。
您可能会发现输出窗口仅显示最后N
行,其中N
约为 100。换句话说,回滚缓冲区比您想象的要小。
您可以通过将代码更改为以下内容来检查这一点:
int numlines = 0;
using (var reader = new StreamReader("list1.txt")) {
while (!reader.EndOfStream) {
Console.WriteLine(reader.ReadLine().Trim());
numlines++;
}
}
Console.WriteLine("Wrote " + numlines + " lines.");
Console.Read();
这将输出最后处理的行数。
您可以使用以下命令更改控制台高度:
Console.BufferHeight = 30000;
正如用户建议的那样,我需要增加缓冲区高度以适应文本行。