Feedback

C# - Textdatei einlesen auf verschiedene Arten

Veröffentlicht von am 2/2/2010
(1 Bewertungen)
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();
Abgelegt unter Textdatei, Text, Datei, einlesen, lesen, StreamReader.

2 Kommentare zum Snippet

Beate Kern schrieb am 9/20/2011:
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?
NicoMcF schrieb am 9/27/2011:
@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?
 

Logge dich ein, um hier zu kommentieren!