从巨大的文本文件(c#4.0)中读取特定行

西尔维德拉格

编辑:@每个人抱歉,我觉得与int32的大小混为一谈。问题可以结束,但是由于已经有几个答案,因此我选择了第一个。以下是原始问题,仅供参考


我正在寻找一种从非常大的文本文件加载特定行的方法,并且我计划使用File.ReadLines和Skip()方法:

File.ReadLines(fileName).Skip(nbLines).Take(1).ToArray();

问题是,Skip()需要一个int值,并且int值限制为200万左右。对于大多数文件来说应该没问题,但是如果文件包含2000万行,该怎么办?我尝试使用long,但是Skip()的重载没有接受long。

行是可变的,长度未知,因此我无法计算字节数。

是否有一种选项不涉及逐行读取文件或将文件拆分成块?此操作必须非常快。

mb

整数是32位数字,因此限制为20亿左右。

就是说,如果您必须从文件中随机读取一行,并且只知道文件包含行,则必须逐行读取它,直到到达所需的行为止。您可以使用一些缓冲区来减轻I / O的负担(默认情况下它们处于打开状态),但是没有比这更好的性能了。

除非您更改文件的保存方式。如果您可以创建一个索引文件,其中包含主文件中每一行的位置,则可以使读取行无限快。

哦,不是无限的,一但有很多快-从O(N)几乎为O(1)(差不多,因为这取决于操作系统如何呢寻求一个随机字节的文件可能不是一个O(1)操作,它)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

恢复读取Java中的巨大文本文件

来自分类Dev

C编程-从文本文件读取特定行

来自分类Dev

C编程读取文本文件的特定行

来自分类Dev

C编程-从文本文件读取特定行

来自分类Dev

读取文本文件的特定行 [C#]

来自分类Dev

从Java中的文本文件读取特定行

来自分类Dev

从文本文件中的特定行读取数字

来自分类Dev

在vbscript中读取文本文件的特定行

来自分类Dev

从特定行读取文本文件

来自分类Dev

在C ++中使用缓冲逐行读取巨大的文本文件

来自分类Dev

从C中的文本文件读取前N行

来自分类Dev

在 linux 中处理巨大的文本文件

来自分类Dev

读取文本文件C#

来自分类Dev

读取文本文件错误C

来自分类Dev

C ++逐行读取文本文件

来自分类Dev

从文本文件C ++读取输入

来自分类Dev

用 C 读取文本文件

来自分类Dev

将文本文件中的特定行读取到批处理文件中的变量

来自分类Dev

C ++ Qt-读取文本文件的特定部分

来自分类Dev

从文本文件中读取特定的行或字符,无法识别文本

来自分类Dev

如何从文本文件中读取特定行和文本

来自分类Dev

从文本文件读取特定行的方法是什么?

来自分类Dev

从文本文件读取行到结构C

来自分类Dev

仅读取文本文件中的特定行,并将匹配项保存到变量中

来自分类Dev

我如何从 Java 8 中的文本文件中读取特定行?

来自分类Dev

仅从python中的文本文件中读取特定部分的前两行

来自分类Dev

在Matlab中创建一个带有特定数字的巨大文本文件?

来自分类Dev

从C中的文本文件逐字读取

来自分类Dev

从C中的文本文件读取矩阵