Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Share this Page URL
Help

138 Ordner löschen > 138 Ordner löschen - Pg. 369

>> Dateisystem 369 Das Verschieben von Ordnern über die Move -Methode ist nicht allzu komfortabel. Prob- lematisch ist zum Beispiel, dass diese Methode mit einer Ausnahme abbricht, wenn eine Zieldatei oder ein Zielordner bereits existiert. Im Rezept 157 finden Sie eine Methode, die das erweiterte Umbenennen und Verschieben von Dateien oder Ordnern über die API-Funktion SHFileOperation implementiert. Diese Methode zeigt einen automatischen Fortschrittsdialog an, ermöglicht den Abbruch der Aktion und das Überschreiben vor- handener Dateien bzw. Ordner mit oder ohne Nachfrage beim Anwender. H i n w ei s 138 Ordner löschen Wenn Sie einen Ordner löschen wollen, können Sie dazu die Methode Delete der Klasse Sys- tem.IO.Directory verwenden. Am ersten Argument übergeben Sie den Pfadnamen des Ord- ners, im optionalen zweiten Argument können Sie mit true bestimmen, dass auch alle Unterordner und enthaltenen Dateien gelöscht werden: string folderName = @"C:\Temp\Test\Test"; try { // Ordner löschen Directory.Delete(folderName, true); } catch (Exception ex) { MessageBox.Show( "Fehler beim Löschen des Ordners '" + folderName + "': " + ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } Listing 246: Löschen eines Ordners Dieses Beispiel benötigt aufgrund der Verwendung der MessageBox -Klasse die Referenzierung der Assembly System.Windows.Forms.dll und die Einbindung des Namensraums System.Win- dows.Forms . Daneben müssen die Namensräume System und System.IO importiert werden. Übergeben Sie am zweiten Argument nichts oder false , führt das Löschen eines nicht leeren Ordners zu einer Ausnahme vom Typ IOException . Der zu löschende Ordner muss außerdem existieren und löschbar sein (nicht schreibgeschützt), ansonsten erzeugt Delete ebenfalls eine Ausnahme. Dieselbe Ausnahme wird natürlich auch erzeugt, wenn die Pfadangabe syntaktisch nicht korrekt ist. Hinweis Beachten Sie, dass Delete Ordner und alle enthaltenen Dateien dauerhaft löscht und nicht in den Papierkorb verschiebt. Das Verschieben in den Papierkorb finden Sie im Rezept 158. Dateisystem