C# File Streams meistern: StreamReader & StreamWriter – Schritt-für-Schritt-Anleitung
Bei C# Datei-I/O dienen Streams als Vermittler zwischen Ihrer Anwendung und dem zugrundeliegenden Dateisystem. Sie ermöglichen das Lesen von oder Schreiben in Dateien auf speichereffiziente Weise, besonders bei großen Datenmengen.
Anstatt eine gesamte 100-MB-Datei in den Speicher zu laden – was Ihre App einfrieren lassen könnte – zerlegen Streams die Daten in handhabbare Chunks. Dies hält die Performance flüssig und verhindert Abstürze.
Im Folgenden finden Sie knappe Beispiele, die demonstrieren, wie Sie Dateien mit StreamReader und StreamWriter lesen und schreiben. Folgen Sie den Schritt-für-Schritt-Anweisungen, um diese Muster in Ihre eigenen Projekte zu integrieren.
StreamReader – Dateien lesen
Angenommen, Sie haben eine Datei namens Example.txt auf Laufwerk D mit zwei Zeilen:
- Guru99 – .Net
- Guru99 – C#
Erstellen Sie eine Konsolenanwendung und fügen Sie folgenden Code zu Program.cs hinzu:

using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = @"D:\Example.txt";
using (StreamReader sr = File.OpenText(path)) {
string line;
while ((line = sr.ReadLine()) != null) {
Console.WriteLine(line);
}
}
Console.ReadKey();
}
}
}
Erklärung:
StreamReadermitFile.OpenTextinstanziieren, Datei im Lesemodus öffnen.- Jede Zeile mit
ReadLine()lesen, was Daten von der Datei in den Puffer und dann in dieline-Variable überträgt. - Jede Zeile auf der Konsole ausgeben.
Programmausführung in Visual Studio zeigt:

Die beiden Zeilen aus Example.txt erscheinen korrekt, was beweist, dass der Reader wie beabsichtigt funktioniert.
StreamWriter – In Dateien schreiben
Gegenseitig schreibt StreamWriter Text aus Ihrer Anwendung über einen Puffer in eine Datei. Unten ein einfaches Beispiel, das eine Zeile an dieselbe Example.txt anhängt.

using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = @"D:\Example.txt";
using (StreamWriter sw = File.AppendText(path)) {
sw.WriteLine("Guru99 – ASP.Net");
}
Console.WriteLine(File.ReadAllText(path));
Console.ReadKey();
}
}
}
Erklärung:
StreamWritermitFile.AppendTextinstanziieren, Datei im Anhängemodus öffnen.- Neue Zeile mit
WriteLine()schreiben, was den Text in den Puffer und dann in die Datei schiebt. - Writer automatisch via
using-Block schließen. - Gesamten Dateiinhalt mit
File.ReadAllTextlesen, um Schreibvorgang zu bestätigen.
Programmausführung zeigt:

Die Konsole zeigt alle drei Zeilen, was bestätigt, dass der neue Eintrag erfolgreich angehängt wurde.
Wichtigste Erkenntnisse
- Streams entkoppeln Datei-I/O von der Applikationslogik und ermöglichen effizientes Handling großer Dateien.
- Verwenden Sie
StreamReader, um Text zeilenweise zu lesen. - Verwenden Sie
StreamWriter, um Text zu schreiben oder anzuhängen, und schließen Sie den Stream, um Dateihandles freizugeben.
C Sprache
- C++ for‑Schleifen erklärt: Syntax, Ablauf und praktische Beispiele
- C++ switch‑case meistern: Syntax, Einsatz und Praxisbeispiele
- C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
- C++ Streams meistern: cout, cin, cerr, clog – Praktischer Guide
- std::stack in C++ meistern: Umfassender Guide mit Praxisbeispielen
- C++ Structs erklärt mit praktischem Beispiel
- std::list in C++ meistern: Syntax, Funktionen & praktische Beispiele
- C# Abstrakte Klassen: Praktisches Tutorial mit Code-Beispielen
- C# Collections meistern: Praktisches Tutorial mit Real-World-Beispielen
- Dateien in Java mit BufferedReader lesen – Praktischer Leitfaden mit Beispielen