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