System.OutOfMemoryException
尝试阅读2.09 GB文本文件时
我正在尝试读取由数百万行组成的txt文件。我正在使用这种方法。
string[] srLines= File.ReadAllLines("my_file.txt");
我有16 GB的DDR3 RAM内存。解决办法是什么?谢谢。
我使用的是Microsoft Visual Studio 2010和Windows 7 64位。
答案 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并按顺序读取文件。您的算法可能更复杂,但您将使用更少的内存。