Feedback

C# - Textdatei einlesen auf verschiedene Arten

Veröffentlicht von am 02.02.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 20.09.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 27.09.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!