Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Programm zum Überprüfen, ob ein Pfad ein Verzeichnis oder eine Datei ist

C#-Programm zum Überprüfen, ob ein Pfad ein Verzeichnis oder eine Datei ist

WBOY
WBOYnach vorne
2023-09-05 17:49:02616Durchsuche

C# 程序检查路径是目录还是文件

Einführung

Lernen wir, wie man ein C#-Programm schreibt, um zu überprüfen, ob ein Pfad ein Verzeichnis oder eine Datei ist. Ein Verzeichnis, auch Ordner genannt, ist ein Ort auf Ihrem Computer, an dem Dateien gespeichert werden können. Verzeichnisse enthalten neben Dateien auch andere Verzeichnisse oder Verknüpfungen.

Eine Datei ist eine Sammlung von Daten auf einem Laufwerk mit einer eindeutigen Kennung und einem Verzeichnispfad. Wenn eine Datei zum Anzeigen oder Schreiben geöffnet wird, wird sie in einen Stream konvertiert. Ein Stream ist einfach eine Folge von Bytes, die einen Kommunikationspfad durchlaufen.

Dateien und Verzeichnisse

Dateien sind echte Datendateien, während Verzeichnisse Repositorys sind, in denen logische Dateien auf dem System abgelegt werden. Zur Verarbeitung von Dateien und Verzeichnissen verfügt die Common Language Runtime (CLR) über die Klassen File, FileInfo, Directory und DirectoryInfo im System.IO-Namespace.

Um Verzeichnisse in C# zu verwalten, können wir Directory oder DirectoryInfo verwenden. Die Directory-Klasse ist eine statische Klasse mit statischen Funktionen zum Umgang mit Verzeichnissen. Diese Klasse kann nicht vererbt werden. DirectoryInfo-Instanzen stellen Informationen zu einem bestimmten Verzeichnis bereit.

Ein Ordner hat eine Dateiklasse und eine Dateiinformationsklasse. Die File-Klasse wird zum Ausführen allgemeiner Aufgaben wie Kopieren, Verschieben, Umbenennen, Erstellen, Öffnen, Löschen und Hinzufügen zu einer einzelnen Datei verwendet. Die File-Klasse kann auch verwendet werden, um Dateieigenschaften oder Datums-/Uhrzeitinformationen im Zusammenhang mit der Dateierstellung, dem Zugriff und dem Schreiben von Dateien abzurufen und zu ändern. Sowohl die File- als auch die FileInfo-Klasse verfügen über dieselbe Grundfunktionalität.

Der einzige Unterschied besteht darin, dass die File-Klasse über interne Methoden zum Umgang mit Dateien verfügt, während die FileInfo-Klasse über Instanzmethoden zum Umgang mit Dateien verfügt.

Öffentlicher statischer Bool vorhanden (String? Pfad); wird verwendet, um zu überprüfen, ob die Datei oder das Verzeichnis vorhanden ist. Ist der Parameter hier ein String? Weg. Dies ist der zu überprüfende Pfad. Der Rückgabetyp ist boolean. Der Grund dafür, dass diese Funktion boolesch ist, liegt darin, dass es bei der Pfadprüfung nur zwei Ergebnisse gibt. Die Datei oder das Verzeichnis ist entweder vorhanden oder nicht vorhanden, genau wie das Schlüsselwort der Funktion. Es gibt also „true“ zurück, wenn das Verzeichnis oder die Datei existiert, und „false“, wenn es nicht existiert oder beim Versuch, auf die Adresse zuzugreifen, ein Fehler auftritt (z. B. eine beschädigte Adresse oder mehr).

Algorithmus

Der folgende Algorithmus zeigt Schritt für Schritt, wie Sie ein Programm schreiben, um zu überprüfen, ob es sich bei einem bestimmten Pfad um ein Verzeichnis oder eine Datei handelt.

Schritt 1 – Zuerst müssen wir einen String deklarieren, der die Adresse enthält, an der wir prüfen möchten, ob es sich um eine Datei oder ein Verzeichnis handelt

Schritt 2 Dann muss die Bedingungsprüfung durchgeführt werden, wir verwenden die Methode public static bool Exists (string? path); um zu prüfen, ob die Datei existiert.

Schritt 3 Es liegt ganz beim Programmierer, zu entscheiden, was er zuerst prüfen möchte. Möchte er den Pfad einer Datei oder eines Verzeichnisses überprüfen?

Schritt 4 Wenn der Pfad beide Prüfungen nicht besteht, ist die Ausgabe ein ungültiger Pfad und wird als Meldung angezeigt.

Beispiel

// For File.Exists, Directory.Exists
using System;
using System.IO;
class ttpt {
   static void Main() {
      string PathCheck = “D:/ipl”;

      // Here we check that the input path is a file
      if(File.Exists(PathCheck)) {
      
         // If the path provided is a file
         Console.WriteLine(“A file exists on this path”);
      }
      
      // Here we check if the path as input is a directory
      else if(Directory.Exists(PathCheck)) {
      
         // This input path is a directory
         Console.WriteLine(“A directory exists on this path”);
      }
      
      // If it is invalid i.e., it is neither directory nor a path
      else {
         Console.WriteLine("{0} is invalid. The input is neither a file nor a directory.", path);
      }
   }
}

Ausgabe

A file exists on this path

Der obige Code prüft, ob der angegebene Pfad eine Datei ist. Zuerst deklarieren wir im Code eine Zeichenfolge zum Speichern der Adresse, um zu überprüfen, ob es sich um eine Datei oder ein Verzeichnis handelt. Dann verwenden wir public static bool Exists(string?path); das mit Datei- und Verzeichnisklassen verwendet werden kann, um mithilfe des entsprechenden Klassenschlüsselworts zu überprüfen, ob eine Datei oder ein Verzeichnis vorhanden ist. Dies kann durch den Einsatz von bedingten Prüfungen erfolgen. Wenn Benutzer eine Stapelprüfung durchführen möchten, können sie durch Erstellen einer Klasse ein Array von Adressen als Parameter übergeben. Überprüfen Sie sie dann einzeln. Da public static bool Exists (string?path); die Rückgabe eines booleschen Werts ist, führen wir eine bedingte Prüfung durch.

Nachgestellte Leerzeichen werden vom Ende des Pfadparameters entfernt, bevor überprüft wird, ob das Verzeichnis existiert.

Die Groß-/Kleinschreibung von Pfadparametern hängt vom Dateisystem ab, in dem der Code ausgeführt wird. Bei NTFS (dem üblichen Windows-Dateisystem) wird beispielsweise die Groß-/Kleinschreibung nicht beachtet, während bei Linux-Dateisystemen die Groß-/Kleinschreibung nicht beachtet wird.

Zeitliche Komplexität

Im Algorithmus nach der Deklaration der Zeichenfolge. public static bool Exists (string?path); Diese Methode ist eine boolesche Rückgabemethode. Da das gesuchte Element nur einmal direkt aufgerufen wird, beträgt die zeitliche Komplexität dieses Algorithmus O(1).

Fazit

Damit sind wir am Ende des Artikels angelangt und haben gelernt, wie man prüft, ob es sich bei dem angegebenen Pfad um ein Verzeichnis oder eine Datei handelt. Wir beginnen mit den Definitionen von Dateien und Verzeichnissen und gehen dann zum Verständnis der Unterschiede zwischen Dateien und Verzeichnissen über. Dann lernten wir den Algorithmus des Programms kennen und sahen uns anschließend das Programm an, um den Pfad zu überprüfen. Wir hoffen, dass dieser Artikel Ihr Verständnis von C# verbessert hat.

Das obige ist der detaillierte Inhalt vonC#-Programm zum Überprüfen, ob ein Pfad ein Verzeichnis oder eine Datei ist. 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