c# 磁盘 I\O 效率改进,一次读取多行



众所周知,磁盘 I\O 很昂贵。 我通常使用 C# 从.txt文件中一次读取一行。 我突然想到,如果 C# 为您提供一种一次读取 100 行的方法,它将需要更少的磁盘往返,从而减少时间。 这可能吗? 有没有人对如何使其更有效率有任何想法。 我在大约一个小时内浏览一个包含 100 万行的文件,一次读取和处理一行。 我想看看我是否可以显着减少这个时间。

FileStream

为您执行此操作,它有一个内部缓冲区并以块的形式读取文件。碰巧File.ReadLines它使用基于FileStreamStreamReader并返回基于行的IEnumerable。从某种意义上说,它为您做所有事情

我的建议是只使用File.ReadLines

如果您需要对内部缓冲区和块大小进行更精细的控制,请将FileStreamStreamReader一起使用,以便配置这些问题,其中包括...

相关内容

最新更新