Sprache: C#
Hier sind vier Möglichkeiten zu sehen wie man eine Textdatei komplett einlesen kann…
Kein großes Ding, aber vlt. brauch es ja doch noch mal einer… 😉
// 1. Variante
// StreamReader erstellen mit Pfad der Datei und dem Encoding des OS
using (StreamReader sr = new StreamReader(@"D:Test.txt", Encoding.Default))
{
// liest von der aktuellen Position im StreamReader bis zum Ende der Datei ein
this.txtContent.Text = sr.ReadToEnd();
}
// 2. Variante
// StreamReader erstellen mit Pfad der Datei und dem Encoding des OS
using (StreamReader sr = new StreamReader(@"D:Test.txt", Encoding.Default))
{
StringBuilder content = new StringBuilder();
// schreibt Zeile für Zeile auf den StringBuilder bis das Ende der Datei erreicht ist
while (!sr.EndOfStream)
content.AppendLine(sr.ReadLine());
// StringBuilder als String an die TextBox übergeben
this.txtContent.Text = content.ToString();
}
3. Variante
this.txtContent.Text = File.ReadAllText(@"D:Test.txt", Encoding.Default);
// auf Anmerkung von Christopher Kk -> File.ReadAllLines(@"D:Test.txt")
4. Variante
StringBuilder sb = new StringBuilder();
foreach (string s in File.ReadAllLines(@"D:Test.txt", Encoding.Default))
sb.AppendLine(s);
this.txtContent.Text = sb.ToString();
// 1. Variante
// StreamReader erstellen mit Pfad der Datei und dem Encoding des OS
using (StreamReader sr = new StreamReader(@"D:Test.txt", Encoding.Default))
{
// liest von der aktuellen Position im StreamReader bis zum Ende der Datei ein
this.txtContent.Text = sr.ReadToEnd();
}
// 2. Variante
// StreamReader erstellen mit Pfad der Datei und dem Encoding des OS
using (StreamReader sr = new StreamReader(@"D:Test.txt", Encoding.Default))
{
StringBuilder content = new StringBuilder();
// schreibt Zeile für Zeile auf den StringBuilder bis das Ende der Datei erreicht ist
while (!sr.EndOfStream)
content.AppendLine(sr.ReadLine());
// StringBuilder als String an die TextBox übergeben
this.txtContent.Text = content.ToString();
}
3. Variante
this.txtContent.Text = File.ReadAllText(@"D:Test.txt", Encoding.Default);
// auf Anmerkung von Christopher Kk -> File.ReadAllLines(@"D:Test.txt")
4. Variante
StringBuilder sb = new StringBuilder();
foreach (string s in File.ReadAllLines(@"D:Test.txt", Encoding.Default))
sb.AppendLine(s);
this.txtContent.Text = sb.ToString();
Alte URL:
/snippet/textdatei-einlesen-auf-verschiedene-arten/1331
Ich hab alle Varianten ausprobiert, bei meiner 250 MB großen Datei kommt immer eine OutOfMemoryException. Wie macht man das mit sehr großen Dateien?
@Christopher Wolf
Nette Sammlung, vollständigkeitshalber würde ich aber auch die beiden Überschriften „3. Variante“ und „4. Variante“ auskommentieren (nur zur Optik und falls jemand das ganze Snippet einfügt ;-))
@Beate Kern
Schon mal mit der RichTextBox eigenen Methode .LoadFile probiert?