编辑:@Everyone 对不起,我觉得混淆 int32 的大小很愚蠢。问题可以关闭,但由于已经有几个答案,我选择了第一个。原始问题如下供参考
我正在寻找一种从非常大的文本文件中加载特定行的方法,并且我计划使用 File.ReadLines 和 Skip() 方法:
File.ReadLines(fileName).Skip(nbLines).Take(1).ToArray();
问题是,Skip()
取一个int
值,而 int 值限制在 200 万左右。对于大多数文件来说应该没问题,但是如果文件包含 2000 万行怎么办?我尝试使用 long,但 Skip() 的重载不接受 long。
行是可变的,长度未知,所以我无法计算字节数。
是否有不涉及逐行读取或将文件拆分为块的选项?此操作必须非常快。