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);
}
Zurück zu Modul 6 Übersicht Weiter zu Modul 8: JSON