Datei- und Verzeichniszugriffe (I/O)
Der Namespace System.IO bietet alle Werkzeuge, um mit dem Dateisystem zu interagieren.
Dabei unterscheiden wir zwischen einfachen Dateioperationen und Streams für größere Datenmengen.
1. Textdateien schreiben und lesen
Die File-Klasse bietet statische Methoden, um Texte mit nur einer Zeile Code zu sichern oder zu laden.
using System.IO;
string pfad = "beispiel.txt";
string inhalt = "Hallo Welt von C#!";
// Datei erstellen und Text schreiben
File.WriteAllText(pfad, inhalt);
// Gesamten Text aus einer Datei lesen
string gelesenerText = File.ReadAllText(pfad);
2. Arbeiten mit Ordnern
Mit der Directory-Klasse verwalten Sie die Ordnerstruktur Ihrer Anwendung.
string ordner = "LogDaten";
// Prüfen, ob ein Verzeichnis existiert
if (!Directory.Exists(ordner))
{
Directory.CreateDirectory(ordner);
}
// Alle Dateien eines Ordners auflisten
string[] dateien = Directory.GetFiles(ordner);
3. Streams und Ressourcenmanagement
Für große Dateien oder fortlaufende Protokolle (Logs) nutzen wir den StreamWriter innerhalb eines using-Blocks.
// Der using-Block stellt sicher, dass die Datei danach wieder freigegeben wird
using (StreamWriter writer = new StreamWriter("log.txt", true))
{
writer.WriteLine("Neuer Log-Eintrag: " + DateTime.Now);
}