Lesen Sie die große TXT-Datei, Ausnahme Speichermangel
Ich möchte eine große TXT-Datei lesen, die 500 MB groß ist. Zuerst benutze ich
var file = new StreamReader(_filePath).ReadToEnd();
var lines = file.Split(new[] { '\n' });
Aber es gibt eine Speicherausnahme. Dann habe ich versucht, Zeile für Zeile zu lesen. Nachdem ich ungefähr 1,5 Millionen Zeilen gelesen hatte, gab es eine Speicherausnahme
using (StreamReader r = new StreamReader(_filePath))
{
while ((line = r.ReadLine()) != null)
_lines.Add(line);
}
oder ich benutzte
foreach (var l in File.ReadLines(_filePath))
{
_lines.Add(l);
}
aber wieder habe ich erhalten
In mscorlib.dll ist eine Ausnahme vom Typ "System.OutOfMemoryException" aufgetreten, die jedoch im Benutzercode nicht behandelt wurde
Meine Maschine ist eine leistungsstarke Maschine mit 8 GB RAM, es sollte also nicht mein Maschinenproblem sein.
p.s: Ich habe versucht, diese Datei in NotePadd ++ zu öffnen und habe die Ausnahme "Die Datei ist zu groß, um geöffnet zu werden" erhalten.