System.OutOfMemoryException尝试读取2.09 GB文本文件时

时间:2011-06-14 16:13:05

标签: visual-studio out-of-memory

System.OutOfMemoryException尝试阅读2.09 GB文本文件时

我正在尝试读取由数百万行组成的txt文件。我正在使用这种方法。

string[] srLines= File.ReadAllLines("my_file.txt");

我有16 GB的DDR3 RAM内存。解决办法是什么?谢谢。

我使用的是Microsoft Visual Studio 2010和Windows 7 64位。

3 个答案:

答案 0 :(得分:0)

您是否也将目标设定为64位?

在所有情况下,.NET进程都有每个对象可分配的内存限制(请参阅http://blogs.msdn.com/b/joshwil/archive/2005/08/10/450202.aspx),我不确定是否使用.NET 4.0进行了更改

答案 1 :(得分:0)

我在VS2012的64Bit机器上遇到了同样的问题。 我改变了“项目设置” - > “构建” - >取消选中“首选32位” 现在它工作正常。

答案 2 :(得分:0)

除非你有理由确实需要在内存中同时拥有所有这些行,否则你也可以使用StreamReader并按顺序读取文件。您的算法可能更复杂,但您将使用更少的内存。