Kako otkriti da je navedeni put datoteka ili direktorij u Node.js?

Kako Otkriti Da Je Navedeni Put Datoteka Ili Direktorij U Node Js



Otkrivanje entiteta datoteke važno je posebno kada se vaše aplikacije bave upravljanjem datotekom ili pohranjuju korisničke podatke u određene direktorije. Budući da pojedinačni direktoriji mogu sadržavati nekoliko datoteka, operacija koja se može primijeniti na njih uključuje premještanje datoteka u drugi direktorij ili brisanje svih preostalih datoteka.

Isto vrijedi i za datoteku, njezine operacije mogu uključivati ​​mijenjanje datoteke, umetanje podataka u datoteku ili brisanje jednog. Cijela će aplikacija biti u kvaru ako programer primijeni operacije datoteka preko direktorija ili obrnuto.

Ovaj će članak ilustrirati pristupe otkrivanju je li navedeni put datoteka ili direktorij pokrivajući ove metode:







Kako otkriti da je navedeni put datoteka ili direktorij u Node.js?

Postoje dvije metode koje nudi ' fs ” modul naime “ isDirectory() ' i ' isFile() ” čiji je jedini cilj provjera vodi li navedeni put do datoteke ili direktorija. Ove se metode koriste u sinkronim i asinkronim scenarijima pomoću ' statSync() ' i ' stat() ” metode. Ove dvije metode prikazane su u nastavku za otkrivanje vodi li navedeni put do datoteke ili direktorija.



Metoda 1: Metoda 'statSync()' za otkrivanje staze koja vodi do direktorija ili datoteke

' statSync() ” metoda koju pruža “ fs ” modul se u osnovi koristi za izvođenje sinkronih operacija. Ova metoda u našem slučaju pohranjuje instancu navedene staze samo jednom. Zatim dodjeljuje ' isDirectory() ' i ' isFile() ” metode za vraćanje vodi li navedeni put do direktorija ili datoteke.



Posjetimo donji isječak koda za praktičnu implementaciju metode 'statSync()':





konst fsObj = zahtijevati ( 'fs' ) ;

neka pathFile = fsObj. statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

konzola. log ( 'Je li navedena staza vodi do datoteke? ' + pathFile. isFile ( ) ) ;

putDir = fsObj. statSync ( '/Users/kahou/Documents/readlineProj' ) ;

konzola. log ( 'Je li navedena staza vodi do imenika? ' + putDir. isDirectory ( ) ) ;

Objašnjenje za gore navedeni kod navedeno je u nastavku:

  • Prvo uvezite ' fs ' modul i pohranite njegovu instancu u ' fsObj ” varijabla.
  • Zatim pozovite ' statSync() ' metodom pomoću ' fsObj ” varijable i proslijedite odabrani put unutar njezinih zagrada. Pohranite referencu ovog puta unutar ' pathFile ” varijabla.
  • Zatim dodijelite ' isFile() ' metoda s ' pathFile ” za vraćanje Booleove vrijednosti koja će pokazati vodi li navedeni put do datoteke ili ne.
  • Nakon toga ponovno pozovite ' statSync() ” i prođite novu stazu.
  • Na kraju priložite ' isDirectory() ' s vrijednošću koju vraća ' startSync() ” metoda.

Sada izvršite trenutnu datoteku pomoću donje naredbe:



'čvor '

Na primjer, izvršili smo datoteku 'app.js':

Izlaz pokazuje vrijednost ' pravi ” vraćeno znači da su navedene staze za mapu i da je datoteka otkrivena.

Metoda 2: Metoda 'stat()' za otkrivanje staze koja vodi do direktorija ili datoteke

Druga metoda koja savršeno funkcionira za asinkrono okruženje poznata je kao ' stat() ' metoda koju pruža ' fs ” modul. Također koristi isti ' isFile() ' i ' isDirectory() ” metode, ali zbog svoje asinkrone prirode, jedan se put može proslijediti objema metodama. Ima dva parametra, prvi je staza pohrane, a drugi je funkcija povratnog poziva koja izvodi neke operacije preko navedene staze:

konst fsObj = zahtijevati ( 'fs' ) ,
testPath = '/Users/kahou/Documents/readlineProj'

// Koristi metodu stat().
fsObj. stat ( testPath , ( greška , statObj ) => {
ako ( ! greška ) {
ako ( statObj. isFile ( ) ) {
konzola. log ( ' \n Da! Navedeni put vodi do datoteke? ' ) ;
}
drugo ako ( statObj. isDirectory ( ) ) {
konzola. log ( ' \n Da! Dani put vodi do imenika? ' ) ;
}
}
drugo
bacanje greška ;
} ) ;

Objašnjenje gore navedenog koda prikazano je u nastavku:

  • Prvo uvezite ' fs ' modul i pohranite njegovu instancu u ' fsObj ” varijabla. Stvoriti ' testPath ” varijabla koja pohranjuje put koji je dao ispitivač.
  • Sada pozovite ' stat() ' metodu i proslijedite ' testPath ” kao prvi parametar i funkcija povratnog poziva kao drugi parametar.
  • Funkcija povratnog poziva sadrži ' greška ” kao prvi parametar i “ statObj ” kao drugi. ' greška ” sadrži pogreške koje se pojavljuju tijekom izvođenja, a “startObj” ima navedeni put.
  • Unutar funkcije upotrijebite ' ako ” naredba koja se pokreće ako nije pronađena pogreška.
  • ' ugniježđeni ako ' Izjave se koriste za dodjelu ' isFile() ' i ' isDirectory() ' metode s ' statObj ”.
  • Ako se metode vrate ' pravi ” samo tada se taj odjeljak izvršava i u skladu s tim prikazuje poruke o uspjehu.

Nakon izvršavanja gornje skripte, terminal izgleda ovako:

Kao što vidite dani put je sada otkriven i potvrđuje da navedeni put vodi do direktorija.

Zaključak

Da biste otkrili je li navedeni put put direktorija ili datoteke u NodeJs, metode ' isFile() ' i ' isDirectory ' su korišteni. Staze koje su dostupne ovim metodama osigurava ' statSync() ' i ' stat() ' metode ' fs ” Modul NodeJs. Ove metode pohranjuju pružene staze na sinkroni i asinkroni način. Ovaj blog je objasnio postupak otkrivanja vodi li navedeni put do datoteke ili direktorija u NodeJS.