Arbeiten mit dem Dateisystem in C#: Vollständiger Leitfaden

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

Arbeiten mit dem Dateisystem in C#: Von den Grundlagen bis zu fortgeschrittenen Techniken



Die Arbeit mit dem Dateisystem ist eine der Kernaufgaben bei der Entwicklung jeder Anwendung. In C# (.NET) gibt es dafür den leistungsstarken Namensraum System.IO, der dem Entwickler einen vollständigen Satz von Werkzeugen zum Erstellen, Lesen, Schreiben, Verschieben und Löschen von Dateien und Ordnern bietet. In diesem Artikel werden wir alle grundlegenden Operationen mit dem Dateisystem im Detail behandeln, von einfachen Beispielen bis hin zu fortgeschrittenen Datenverarbeitungstechniken.



Grundlagen der Dateiarbeit in C#



Der Namensraum System.IO enthält die Klassen File und FileInfo, die statische und Instanzmethoden zur Verwaltung von Dateien bereitstellen. Betrachten wir die grundlegenden Operationen.



Lesen und Schreiben von Textdateien



Der einfachste Weg, mit Textdateien zu arbeiten, ist die Verwendung der statischen Methoden der Klasse File:



using System.IO;

// Text in eine Datei schreiben (erstellt eine neue Datei oder überschreibt eine vorhandene)string content = "Hallo, Welt! Dies ist ein Beispiel für die Dateiarbeit in C#.";File.WriteAllText(@"C:\\temp\\example.txt", content);

// Den gesamten Text aus einer Datei lesenstring readContent = File.ReadAllText(@"C:\\temp\\example.txt");Console.WriteLine(readContent);

// An das Ende der Datei anhängenFile.AppendAllText(@"C:\\temp\\example.txt", "Neue Zeile hinzugefügt.");


Arbeiten mit Binärdateien



Für die Arbeit mit Binärdaten verwenden Sie File.ReadAllBytes und File.WriteAllBytes:



byte[] binaryData = new byte[] { 0x48, 0x65, 0x6C, 0x6C, 0x6F };File.WriteAllBytes(@"C:\\temp\\binary.bin", binaryData);

byte[] readBinary = File.ReadAllBytes(@"C:\\temp\\binary.bin");Console.WriteLine(string.Join(", ", readBinary)); // Ausgabe: 72, 101, 108, 108, 111


Überprüfen der Dateiexistenz und Löschen



Vor der Ausführung von Dateioperationen ist es immer nützlich, deren Existenz zu überprüfen:



string filePath = @"C:\\temp\\example.txt";

if (File.Exists(filePath)){ Console.WriteLine("Datei existiert. Lösche..."); File.Delete(filePath); Console.WriteLine("Datei gelöscht.");}else{ Console.WriteLine("Datei nicht gefunden.");}


Arbeiten mit Verzeichnissen in C#



Für die Verwaltung von Ordnern werden die Klassen Directory und DirectoryInfo verwendet. Sie ermöglichen das Erstellen, Verschieben, Umbenennen und Löschen von Verzeichnissen sowie das Abrufen von Informationen über diese.



Erstellen und Löschen von Ordnern



string dirPath = @"C:\\temp\\MyNewFolder";

// Ordner erstellen (wenn er bereits existiert, wird keine Ausnahme ausgelöst)Directory.CreateDirectory(dirPath);

// Existenzprüfungif (Directory.Exists(dirPath)){ Console.WriteLine("Ordner erfolgreich erstellt.");}

// Ordner löschen (zweiter Parameter - ob rekursiv gelöscht werden soll)Directory.Delete(dirPath, recursive: true);Console.WriteLine("Ordner gelöscht.");


Abrufen einer Liste von Dateien und Unterordnern



Die Methoden GetFiles und GetDirectories ermöglichen das Abrufen des Inhalts eines Verzeichnisses:



string targetDir = @"C:\\temp";

// Alle Dateien im Verzeichnis abrufenstring[] files = Directory.GetFiles(targetDir);Console.WriteLine("Dateien im Verzeichnis:");foreach (string file in files){ Console.WriteLine($" {Path.GetFileName(file)}");}

// Alle Unterordner abrufenstring[] subDirs = Directory.GetDirectories(targetDir);Console.WriteLine("Unterordner:");foreach (string dir in subDirs){ Console.WriteLine($" {Path.GetFileName(dir)}");}

// Suche mit Platzhalter (z.B. alle Textdateien)string[] txtFiles = Directory.GetFiles(targetDir, "*.txt");Console.WriteLine($"{txtFiles.Length} Textdateien gefunden.");


Arbeiten mit DirectoryInfo



Die Klasse DirectoryInfo

Blogs

Buchempfehlungen