Wie erkennt man, dass der angegebene Pfad eine Datei oder ein Verzeichnis in Node.js ist?

Wie Erkennt Man Dass Der Angegebene Pfad Eine Datei Oder Ein Verzeichnis In Node Js Ist



Das Erkennen der Dateientität ist insbesondere dann wichtig, wenn Ihre Anwendungen die Verwaltung einer Datei übernehmen oder Benutzerdaten in bestimmten Verzeichnissen speichern. Da einzelne Verzeichnisse mehrere Dateien enthalten können, umfasst der darauf angewendete Vorgang das Verschieben von Dateien in ein anderes Verzeichnis oder das Löschen aller darin enthaltenen Dateien.

Das Gleiche gilt für eine Datei. Zu ihren Vorgängen können das Ändern der Datei, das Einfügen von Daten in die Datei oder das Löschen einzelner Daten gehören. Die gesamte Anwendung wird durcheinander gebracht, wenn der Entwickler Dateioperationen auf Verzeichnisse anwendet oder umgekehrt.

In diesem Artikel werden die Ansätze zur Erkennung, ob der angegebene Pfad eine Datei oder ein Verzeichnis ist, anhand der folgenden Methoden veranschaulicht:







Wie erkennt man, dass der angegebene Pfad eine Datei oder ein Verzeichnis in Node.js ist?

Es gibt zwei Methoden, die von „ fs „Modul nämlich“ isDirectory() ' Und ' isFile() Der einzige Zweck besteht darin, zu überprüfen, ob der angegebene Pfad zu einer Datei oder einem Verzeichnis führt. Diese Methoden werden sowohl in synchronen als auch in asynchronen Szenarien unter Verwendung der „ statSync() ' Und ' stat() ” Methoden. Im Folgenden werden diese beiden Methoden demonstriert, um festzustellen, ob der angegebene Pfad zu einer Datei oder einem Verzeichnis führt.



Methode 1: Die „statSync()“-Methode zum Erkennen des Pfads, der zum Verzeichnis oder zur Datei führt

Der ' statSync() ”-Methode bereitgestellt von der „ fs ” Modul wird im Wesentlichen zur Durchführung synchroner Operationen verwendet. In unserem Fall speichert diese Methode die Instanz des angegebenen Pfads nur einmal. Dann weist es das „ isDirectory() ' Und ' isFile() ”-Methoden, um zurückzugeben, ob der angegebene Pfad zu einem Verzeichnis oder einer Datei führt.



Schauen wir uns den folgenden Codeausschnitt für die praktische Implementierung der Methode „statSync()“ an:





const fsObj = erfordern ( 'fs' ) ;

let pathFile = fsObj. statSync ( „/Users/kahou/Documents/readlineProj/mcu.db“ ) ;

Konsole. Protokoll ( „Ist der angegebene Pfad zu einer Datei führen?“ ' + pathFile. isFile ( ) ) ;

pathDir = fsObj. statSync ( „/Users/kahou/Documents/readlineProj“ ) ;

Konsole. Protokoll ( „Wird der angegebene Pfad zu einem Verzeichnis geführt?“ ' + pathDir. isDirectory ( ) ) ;

Die Erklärung für den oben bereitgestellten Code ist unten aufgeführt:

  • Importieren Sie zunächst „ fs ” Modul und speichern Sie seine Instanz in einem „ fsObj ” variabel.
  • Rufen Sie dann „ statSync() ”-Methode unter Verwendung der „ fsObj ”-Variable und übergeben Sie den ausgewählten Pfad in ihrer Klammer. Speichern Sie die Referenz dieses Pfads im „ pathFile ” variabel.
  • Weisen Sie als Nächstes das „ isFile() ”-Methode mit dem „ pathFile ” um einen booleschen Wert zurückzugeben, der anzeigt, ob der angegebene Pfad zu einer Datei führt oder nicht.
  • Rufen Sie danach erneut das „ statSync() ”-Methode und übergeben Sie den neuen Pfad.
  • Fügen Sie abschließend das „ isDirectory() ”-Methode mit dem von der „ startSync() ' Methode.

Führen Sie nun die aktuelle Datei mit dem folgenden Befehl aus:



„Knoten

Wir haben zum Beispiel die Datei „app.js“ ausgeführt:

Die Ausgabe zeigt den Wert von „ WAHR „wird zurückgegeben, bedeutet, dass die angegebenen Pfade für den Ordner gelten und die Datei erkannt wurde.

Methode 2: Die „stat()“-Methode zum Erkennen des Pfads, der zum Verzeichnis oder zur Datei führt

Eine andere Methode, die perfekt für die asynchrone Umgebung funktioniert, ist bekannt als „ stat() ”-Methode, die von der „ fs ” Modul. Es verwendet auch das gleiche „ isFile() ' Und ' isDirectory() ”-Methoden, aber aufgrund seiner asynchronen Natur kann der einzelne Pfad an beide Methoden übergeben werden. Es verfügt über zwei Parameter: Der erste speichert den Pfad und der zweite ist eine Rückruffunktion, die einige Operationen über den angegebenen Pfad ausführt:

const fsObj = erfordern ( 'fs' ) ,
testPath = „/Users/kahou/Documents/readlineProj“

// stat()-Methode verwenden
fsObj. stat ( testPath , ( Fehler , statObj ) => {
Wenn ( ! Fehler ) {
Wenn ( statObj. isFile ( ) ) {
Konsole. Protokoll ( ' \N Ja! Angegebener Pfad führt zu einer Datei? ' ) ;
}
anders Wenn ( statObj. isDirectory ( ) ) {
Konsole. Protokoll ( ' \N Ja! Angegebener Pfad führt zu einem Verzeichnis? ' ) ;
}
}
anders
werfen Fehler ;
} ) ;

Die Erklärung für den oben bereitgestellten Code ist unten dargestellt:

  • Importieren Sie zunächst „ fs ” Modul und speichern Sie seine Instanz in einem „ fsObj ” variabel. Ein ... kreieren ' testPath ”-Variable, die den vom Tester bereitgestellten Pfad speichert.
  • Rufen Sie nun das „ stat() ”-Methode und übergeben Sie die „ testPath ” als ersten Parameter und eine Callback-Funktion als zweiten Parameter.
  • Die Callback-Funktion enthält „ Fehler ” als erster Parameter und „ statObj ” als zweites. Der ' Fehler „enthält Fehler, die während der Ausführung auftreten und „startObj“ hat den angegebenen Pfad.
  • Verwenden Sie innerhalb der Funktion das „ Wenn ”-Anweisung, die ausgeführt wird, wenn kein Fehler gefunden wird.
  • Der ' verschachtelt, wenn ”-Anweisungen werden verwendet, um die „ isFile() ' Und ' isDirectory() ” Methoden mit „ statObj “.
  • Wenn die Methoden „ WAHR ” Erst dann wird dieser Abschnitt ausgeführt und die Erfolgsmeldungen werden entsprechend angezeigt.

Nach der Ausführung des obigen Skripts sieht das Terminal folgendermaßen aus:

Wie Sie sehen, wird der angegebene Pfad nun erkannt und bestätigt, dass der angegebene Pfad zu einem Verzeichnis führt.

Abschluss

Um festzustellen, ob der angegebene Pfad der Pfad eines Verzeichnisses oder einer Datei in NodeJs ist, werden die Methoden von „ isFile() ' Und ' isDirectory ' werden verwendet. Die Pfade, auf die mit diesen Methoden zugegriffen werden kann, werden bereitgestellt von „ statSync() ' Und ' stat() ” Methoden der „ fs „NodeJs-Modul. Diese Methoden speichern die bereitgestellten Pfade jeweils synchron und asynchron. In diesem Blog wurde die Vorgehensweise erläutert, um zu erkennen, ob der angegebene Pfad zu einer Datei oder einem Verzeichnis in NodeJS führt.