Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Programm zum Löschen leerer und nicht leerer Verzeichnisse

C#-Programm zum Löschen leerer und nicht leerer Verzeichnisse

PHPz
PHPznach vorne
2023-08-29 12:57:021392Durchsuche

C# 删除空目录和非空目录的程序

Einführung

Auf einem Computer können wir Dateien in Verzeichnissen, auch Ordner genannt, speichern. Verzeichnisse enthalten auch Verknüpfungen zu anderen Verzeichnissen und Dateien. Hier besprechen wir das C#-Programm zum Löschen leerer und nicht leerer Verzeichnisse. Eine statische Klasse namens Directory stellt statische Methoden für die Arbeit mit Verzeichnissen bereit. DirectoryInfo-Objekte stellen detaillierte Informationen zu einem bestimmten Verzeichnis bereit.

Leere und nicht leere Verzeichnisse löschen

Da wir nun ein Verzeichnis haben (leer oder nicht), müssen wir es löschen. Ein leeres Verzeichnis bedeutet, dass im Verzeichnis keine Dateien oder Unterverzeichnisse vorhanden sind. Ein Verzeichnis kann als eine Gruppierung von Dateien und Unterverzeichnissen betrachtet werden; es kann Daten enthalten oder auch nicht. Ein Verzeichnis, das Dateien oder andere Verzeichnisse enthält, wird als nicht leeres Verzeichnis bezeichnet. Mit der Methode „Delete()“ der Klasse „Directory“ können wir ein Verzeichnis löschen. Diese Methode verfügt über zwei Überladungsmethoden -

  • delete(string)

  • delete(string,boolean)

delete(string)

Diese Methode ist in der Directory-Klasse enthalten. Mit dieser Technik werden leere Verzeichnisse gelöscht. Diese Methode löscht ein Verzeichnis von einer definierten Adresse oder einem definierten Standort.

public static void Delete (string DirLocation); 

Wobei DirLocation die Adresse des bereitgestellten Verzeichnisses ist und wir löschen möchten, ist der Typ dieses Parameters eine Zeichenfolge. Nun können nach der Ausführung dieses Befehls einige Fehler auftreten.

Wenn die Datei mit demselben Namen und derselben Adresse, die durch DirLocation angegeben wurde, bereits vorhanden ist, wird eine E/A-Ausnahme ausgelöst. Alternativ ist der Unterordner schreibgeschützt. Ausnahmen bei unbefugtem Zugriff sind eine weitere Fehlerart, die auftreten kann. Diese Ausnahme wird ausgelöst, wenn der Aufrufer nicht über die erforderlichen Berechtigungen verfügt. Argument-Null-Ausnahme: Dieser Fehler wird ausgelöst, wenn DirLocation null ist. „Path Too Long Exception“ ist ein weiterer Fehler, der auftreten kann, wenn der angegebene DirLocation, Dateiname oder beide die systemdefinierte maximale Länge überschreiten. Wenn DirLocation fehlt oder nicht gefunden werden kann, tritt die Ausnahme „Directory Not Found“ auf. Oder die angegebene Route ist falsch.

Algorithmus

Der folgende Algorithmus zeigt Schritt für Schritt den Prozess des Schreibens eines Programms zum Löschen eines Verzeichnisses. In diesem Algorithmus verwenden wir die Methode „Delete(String)“.

Zum Beispiel betrachten wir ein leeres Verzeichnis namens „csk“. Jetzt verwenden wir die Methode „Delete(String)“ und löschen das Verzeichnis „csk“.

Schritt 1 – Wir verwenden die Methode Directory.delete, um ein Verzeichnis durch Übergabe der Verzeichnisadresse zu löschen.

Schritt 2 Das Löschen des Verzeichnisses, in das wir geschrieben haben, wurde mithilfe von Console.Writeline() abgeschlossen.

Beispiel

// A C# program which goes on given address and deletes the empty directory
// Using Delete(string) method
using System;
using System.IO;
class TutPoint {
   static void Main(){

      // Deleting the empty directory by using the Delete() method
      Directory.Delete("D:/csk");
      Console.WriteLine("Deleted");
   }
}

Ausgabe

Deleted

delete(string,boolean)

Diese Methode ist auch in der Directory-Klasse enthalten. Mit dieser Technik werden das angegebene Verzeichnis und alle Unterverzeichnisse und Dateien in diesem Verzeichnis gelöscht, sofern angegeben.

public static void Delete (string DirLocation, bool recursive); 

Diese Technik wird verwendet, um ein bestimmtes Verzeichnis und alle darin enthaltenen Unterverzeichnisse und Dateien zu löschen. Nun können nach der Ausführung dieses Befehls einige Fehler auftreten.

Wenn die Datei mit demselben Namen und derselben Adresse, die durch DirLocation angegeben wurde, bereits vorhanden ist, wird eine E/A-Ausnahme ausgelöst. Alternativ ist der Unterordner schreibgeschützt. Ausnahmen bei unbefugtem Zugriff sind eine weitere Fehlerart, die auftreten kann. Diese Ausnahme wird ausgelöst, wenn der Aufrufer nicht über die erforderlichen Berechtigungen verfügt. Argument-Null-Ausnahme: Dieser Fehler wird ausgelöst, wenn DirLocation null ist.

Die Ausnahme „Pfad zu lang“ ist ein weiterer Fehler, der auftritt, wenn der angegebene DirLocation, Dateiname oder beide die im System festgelegte maximale Länge überschreiten. Wenn DirLocation fehlt oder nicht gefunden werden kann, tritt die Ausnahme „Directory Not Found“ auf. Oder die angegebene Route ist falsch.

Algorithmus

Der folgende Algorithmus zeigt Schritt für Schritt den Prozess des Schreibens eines Programms zum Löschen eines Verzeichnisses. In diesem Algorithmus verwenden wir die Methode „Delete(String, Boolean)“.

Zum Beispiel gehen wir davon aus, dass es auf dem Laufwerk D ein nicht leeres Verzeichnis mit dem Namen „csk“ gibt, das eine Datei mit dem Namen „msd“ enthält. Jetzt verwenden wir die Methode „Delete(String, Boolean)“ und löschen das Verzeichnis „csk“.

Schritt 1 Wir verwenden die Methode Directory.delete(String, Boolean), um ein Verzeichnis durch Übergabe der Verzeichnisadresse zu löschen.

Schritt 2 Hier ist true der boolesche Wert, der bei der Prüfung, ob das Unterverzeichnis existiert, übergeben wird.

Schritt 3 Das Löschen des Verzeichnisses, in das wir geschrieben haben, wurde mithilfe von Console.Writeline() abgeschlossen.

Beispiel

// A C# program which goes on given address and deletes the non empty directory

// Using Delete(string) method
using System;
using System.IO;
class TutPoint {
   static void Main() {

      // Deleting the non-empty directory by using the Delete() method
      Directory.Delete("D:/csk",true);
      Console.WriteLine("Deleted");
   }
}

Ausgabe

Deleted

Zeitliche Komplexität

Im Algorithmus verwenden wir eine einzelne Funktion der Directory-Klasse. Hier beträgt die zeitliche Komplexität von „Delete(String)“ O(1) und die zeitliche Komplexität von „Delete(String, Boolean)“ beträgt ebenfalls O(1).

Fazit

Wir haben C#-Programme zum Löschen leerer und nicht leerer Verzeichnisse ausführlich besprochen. Zuerst haben wir die Definition von Verzeichnissen und deren Verwendung besprochen. Anschließend haben wir das Löschen von Verzeichnissen auf zwei verschiedene Arten besprochen. Schließlich haben wir den Algorithmus und den Beispielcode gesehen. Wir hoffen, dass dieser Artikel Ihnen geholfen hat, Ihr Wissen über C# zu erweitern.

Das obige ist der detaillierte Inhalt vonC#-Programm zum Löschen leerer und nicht leerer Verzeichnisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen