Arbeiten mit dem Dateisystem in C#: praktische Beispiele und Tipps

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum die Arbeit mit dem Dateisystem in C# wichtig ist

\n

Jede ernsthafte Anwendung steht früher oder später vor der Notwendigkeit, Daten zu speichern. Ob Konfigurationsdateien, Protokolle, Benutzerdokumente oder temporäre Daten – die Arbeit mit dem Dateisystem ist eine grundlegende Fähigkeit für C#-Entwickler. In diesem Artikel werden wir anhand praktischer Beispiele durchgehen, wie man Dateien und Ordner mit .NET erstellt, liest, schreibt und verwaltet. Sie lernen nicht nur die grundlegenden Operationen, sondern auch die besten Praktiken zur Ausnahmebehandlung und zur Arbeit mit Streams.

\n\n

Wichtige Klassen für die Arbeit mit dem Dateisystem

\n

In .NET werden für die Interaktion mit dem Dateisystem die Namespaces System.IO und System.IO.Enumeration verwendet. Die wichtigsten Klassen, die Sie benötigen, sind:

\n
    \n
  • File – statische Methoden zum Erstellen, Kopieren, Löschen und Verschieben von Dateien.
  • \n
  • FileInfo – Instanzklasse für die Arbeit mit einer bestimmten Datei (unterstützt dieselben Operationen, erfordert jedoch die Erstellung eines Objekts).
  • \n
  • Directory – statische Methoden für die Arbeit mit Verzeichnissen.
  • \n
  • DirectoryInfo – Instanzklasse für die Arbeit mit Verzeichnissen.
  • \n
  • Path – Hilfsklasse für die Arbeit mit Pfaden (Verknüpfung, Abrufen von Erweiterung, Name usw.).
  • \n
  • FileStream – Low-Level-Stream zum Lesen/Schreiben von Bytes.
  • \n
  • StreamReader / StreamWriter – High-Level-Wrapper für die Arbeit mit Text.
  • \n
\n

Die Wahl zwischen statischen Methoden und Instanzklassen hängt vom Szenario ab. Wenn Sie nur eine Operation ausführen müssen, verwenden Sie File oder Directory. Wenn mehrere Operationen an einem Objekt geplant sind, erstellen Sie ein FileInfo- oder DirectoryInfo-Objekt.

\n\n

Erstellen, Lesen und Schreiben von Dateien

\n\n

1. Erstellen und Schreiben einer Textdatei

\n

Der einfachste Weg, Text in eine Datei zu schreiben, ist die Verwendung der Methode File.WriteAllText. Sie erstellt eine Datei (oder überschreibt eine vorhandene) und schließt den Stream automatisch.

\n
using System.IO;\n\nstring path = @"C:\\temp\\example.txt";\nstring content = "Hallo, Welt! Dies ist eine Testdatei.";\n\nFile.WriteAllText(path, content);\nConsole.WriteLine("Datei erstellt und geschrieben.");
\n

Wenn Sie Daten an das Ende einer Datei anhängen möchten, verwenden Sie File.AppendAllText:

\n
File.AppendAllText(path, "\\nHinzugefügte Zeile.");
\n\n

2. Lesen einer Datei

\n

Um den gesamten Text zu lesen, verwenden Sie File.ReadAllText:

\n
string readContent = File.ReadAllText(path);\nConsole.WriteLine(readContent);
\n

Wenn die Datei groß ist, ist es besser, zeilenweise mit File.ReadLines zu lesen (gibt IEnumerable<string> zurück):

\n
foreach (string line in File.ReadLines(path))\n{\n    Console.WriteLine(line);\n}
\n\n

3. Arbeiten mit Binärdateien

\n

Für Binärdaten (Bilder, Archive) verwenden Sie FileStream oder BinaryReader/BinaryWriter. Beispiel zum Schreiben eines Byte-Arrays:

\n
byte[] data = { 0x48, 0x65, 0x6C, 0x6C, 0x6F }; // "Hello"\nFile.WriteAllBytes(@"C:\\temp\\binary.dat", data);\n\nbyte[] readData = File.ReadAllBytes(@"C:\\temp\\binary.dat");\nConsole.WriteLine(BitConverter.ToString(readData)); // 48-65-6C-6C-6F
\n\n

Arbeiten mit Ordnern und Verwalten von Dateien

\n\n

1. Erstellen und Löschen von Ordnern

\n

Einen Ordner können Sie mit Directory.CreateDirectory erstellen. Die Methode erstellt alle fehlenden Ordner im Pfad:

\n
string dirPath = @"C:\\temp\\MyApp\\Logs";\nDirectory.CreateDirectory(dirPath);\nConsole.WriteLine("Ordner erstellt.");
\n

Löschen eines Ordners (rekursiv, mit gesamten Inhalt):

\n
if (Directory.Exists(dirPath))\n{\n    Directory.Delete(dirPat                

Blogs

Buchempfehlungen