C# File Streams Beheersen: StreamReader & StreamWriter – Stap-voor-Stap Gids
In C# bestands-I/O dienen streams als tussenschakel tussen je applicatie en het onderliggende bestandssysteem. Ze stellen je in staat om van of naar bestanden te lezen/schrijven op een geheugen-efficiënte manier, vooral bij grote datasets.
In plaats van een heel 100 MB bestand in het geheugen te laden – wat je app kan laten vriezen – breken streams de data op in beheersbare stukken. Deze benadering houdt prestaties soepel en voorkomt crashes.
Hieronder vind je beknopte voorbeelden die demonstreren hoe je bestanden leest en schrijft met StreamReader en StreamWriter. Volg de stapsgewijze instructies om deze patronen in je eigen projecten te integreren.
StreamReader – Bestanden Lezen
De StreamReader-klasse leest tekst uit een bestand regel voor regel, door de data via een buffer te passeren voordat je applicatie het verwerkt.
Stel je hebt een bestand genaamd Example.txt op de D-schijf met twee regels:
- Guru99 – .Net
- Guru99 – C#
Maak een console-applicatie en voeg de volgende code toe aan Program.cs:

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();
}
}
}
Uitleg:
- Instantieer
StreamReadermetFile.OpenText, het bestand openen in read-only mode. - Lees elke regel met
ReadLine(), wat data van het bestand naar de buffer en dan naar deline-variabele overdraagt. - Geef elke regel uit naar de console.
Het draaien van dit programma in Visual Studio toont:

De twee regels uit Example.txt verschijnen correct, wat bewijst dat de reader werkt zoals bedoeld.
StreamWriter – Naar Bestanden Schrijven
Omgekeerd schrijft StreamWriter tekst van je applicatie naar een bestand via een buffer. Hieronder is een simpel voorbeeld dat een regel toevoegt aan hetzelfde Example.txt bestand.

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();
}
}
}
Uitleg:
- Instantieer
StreamWritermetFile.AppendText, het bestand openen in append-modus. - Schrijf een nieuwe regel met
WriteLine(), wat de tekst in de buffer en dan naar het bestand duwt. - Sluit de writer automatisch via het
using-blok. - Lees de gehele bestandsinhoud met
File.ReadAllTextom de schrijfoperatie te bevestigen.
Het uitvoeren van dit programma toont:

De console toont alle drie regels, wat bevestigt dat de nieuwe entry succesvol toegevoegd is.
Belangrijkste Punten
- Streams koppelen bestands-I/O los van applicatielogica, wat efficiënte afhandeling van grote bestanden mogelijk maakt.
- Gebruik
StreamReaderom tekst regel-voor-regel te lezen. - Gebruik
StreamWriterom tekst te schrijven of toe te voegen, en zorg dat je de stream sluit om bestands-handles vrij te geven.
C Taal
- C++ For‑Lussen Uitgelegd: Syntaxis, Werking en Praktische Voorbeelden
- C++ Switch‑Case Onder de Knie: Syntaxis, Gebruik en Praktische Voorbeelden
- C++ Dynamische Array‑Allocatie: Praktische Handleiding met Code‑Voorbeelden
- C++ Streams Beheersen: cout, cin, cerr, clog – Praktische Handleiding
- std::stack in C++ Onder de Knie: Uitgebreide Handleiding met Praktische Voorbeelden
- C++ Structs Uitgelegd met een Praktisch Voorbeeld
- C++ Classes & Objects: Praktische Handleiding met Code‑Voorbeelden
- Beheersen van std::list in C++: Syntaxis, Functies & Praktische Voorbeelden
- C# Abstracte Classes: Een Praktische Tutorial met Codevoorbeelden
- C# Collections Beheersen: Een Praktische Tutorial met Real-World Voorbeelden
- Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden