【发布时间】:2011-05-09 22:08:20
【问题描述】:
我需要从磁盘读取 1gb 原始文本文件到内存中,以便在 C# 中进行一些字符串操作。
string contents = File.ReadAllText(path)
正在抛出内存不足异常(不足为奇)
最好的方法是什么?
【问题讨论】:
-
什么样的字符串操作?在任何给定时间只阅读部分内容可以吗?
-
理论上是的,但是使用遗留代码工作,而且我知道这将被使用的环境,并且一口气阅读它会更容易。
-
我假设您在尝试此操作的 PC 上实际上有足够的可用 RAM。我知道修改遗留代码可能会很痛苦(如果它的任务关键,也会很可怕),但您可能需要考虑一次只读取一个块并以这种方式处理它。