1

我在从 .txt 文件中打开 9000 万行文本并将它们添加到数组中时遇到问题,这给了我一个错误,并且阻止它打开。这是我的代码:

Dim Contents As String()
Contents = File.ReadAllLines(RichTextBox4.Text)

我已经尝试了 100 万行文本并且它有效,但是当我尝试超过 9000 万行时,它现在给了我一个错误。有没有其他选择?提前致谢。

附加信息:

这 9000 万行充当过滤器,如果用户输入的单词存在于 9000 万行之一中,则该过滤器会阻止用户输入。这是我的主要目标。

4

2 回答 2

4

我建议使用蒸汽阅读器,每次阅读一行,然后处理它,然后在“扔掉”旧行的同时阅读下一行。

这样,您不需要将每一行读入内存,而只需将工作行读入。

于 2013-10-24T06:45:32.233 回答
1

您可以分块读取大文件并将每个块保存在磁盘上以供以后参考。

您可以获取底层文件流,然后执行以下操作:

Dim stream = reader.BaseStream

然后使用stream seek方法移动文件指针

stream.Seek(CHUNK_SIZE, SeekOrigin.[Start])
于 2013-10-24T06:46:16.413 回答