我在从.txt文件中打开9000万行文本并将其添加到数组中时遇到问题,它给了我一个错误并阻止它打开。这是我的代码:
Dim Contents As String()
Contents = File.ReadAllLines(RichTextBox4.Text)
我已经尝试了100万行文本并且它可以工作,但是当我尝试超过9000万行时,它现在给了我一个错误。这有什么替代方案吗?提前谢谢。
其他信息:
这些9000万行充当过滤器,如果他们输入的单词存在于9000万行中的一行中,则会阻止用户输入。这是我的主要目标。
答案 0 :(得分:4)
我建议每次使用一个蒸汽读取器并读取一行,然后处理它,然后在“扔掉”旧行时读取下一行。
这样你就不需要将每一行读入内存而只需读取工作线。
答案 1 :(得分:1)
您可以读取块中的大文件并将每个块保存在磁盘上供以后参考。
您可以获取基础文件流,然后执行类似的操作:
Dim stream = reader.BaseStream
然后使用流搜索方法移动文件指针
stream.Seek(CHUNK_SIZE, SeekOrigin.[Start])