我想读大TXT文件大小是500 MB,首先我使用
var file = new StreamReader(_filePath).ReadToEnd();
var lines = file.Split(new[] { '\n' });
Run Code Online (Sandbox Code Playgroud)
但它抛出内存异常然后我试图逐行读取但是在读取大约150万行之后再次抛出内存异常
using (StreamReader r = new StreamReader(_filePath))
{
while ((line = r.ReadLine()) != null)
_lines.Add(line);
}
Run Code Online (Sandbox Code Playgroud)
或者我用过
foreach (var l in File.ReadLines(_filePath))
{
_lines.Add(l);
}
Run Code Online (Sandbox Code Playgroud)
但我又一次收到了
mscorlib.dll中出现"System.OutOfMemoryException"类型的异常,但未在用户代码中处理
我的机器是功能强大的机器,有8GB的内存,所以它不应该是我的机器问题.
ps:我试图在NotePadd ++中打开这个文件,我收到'文件太大而无法打开'异常.