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... ;)
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

// 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!