Kako zaznati, da je podana pot datoteka ali imenik v Node.js?

Kako Zaznati Da Je Podana Pot Datoteka Ali Imenik V Node Js



Zaznavanje datotečne entitete je pomembno zlasti, kadar se vaše aplikacije ukvarjajo z upravljanjem datoteke ali shranjujejo uporabniške podatke v določene imenike. Ker lahko posamezen imenik vsebuje več datotek, operacija, ki se lahko uporabi zanj, vključuje premik datotek v drug imenik ali izbris vseh preostalih datotek.

Enako velja za datoteko, njene operacije lahko vključujejo spreminjanje datoteke, vstavljanje podatkov v datoteko ali brisanje posameznega. Celotna aplikacija bo v zmedi, če razvijalec uporabi operacije datotek nad imeniki ali obratno.

Ta članek bo ponazoril pristope za odkrivanje, ali je navedena pot datoteka ali imenik, tako da bo obravnaval te metode:







Kako zaznati, da je podana pot datoteka ali imenik v Node.js?

Obstajata dve metodi, ki jih ponuja ' fs »modul namreč« isDirectory() « in » isFile() «, katerega edini namen je preveriti, ali navedena pot vodi do datoteke ali imenika. Te metode se uporabljajo v sinhronih in asinhronih scenarijih z uporabo ' statSync() « in » stat() ” metode. Ti dve metodi sta prikazani spodaj za odkrivanje, ali navedena pot vodi do datoteke ali imenika.



1. način: Metoda »statSync()« za odkrivanje poti, ki vodi do imenika ali datoteke

' statSync() ” metodo, ki jo zagotavlja “ fs ” modul se v bistvu uporablja za izvajanje sinhronih operacij. Ta metoda v našem primeru shrani primerek podane poti samo enkrat. Nato dodeli ' isDirectory() « in » isFile() ” metode za vrnitev, ali podana pot vodi do imenika ali datoteke.



Oglejmo si spodnji delček kode za praktično izvedbo metode »statSync()«:





konst fsObj = zahtevati ( 'fs' ) ;

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

konzola. dnevnik ( Ali podana pot vodi do datoteke? ' + pathFile. isFile ( ) ) ;

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

konzola. dnevnik ( Ali podana pot vodi do imenika? ' + pathDir. isDirectory ( ) ) ;

Razlaga za zgoraj navedeno kodo je navedena spodaj:

  • Najprej uvozite » fs ' in shranite njegov primerek v ' fsObj ” spremenljivka.
  • Nato pokličite » statSync() ' metoda z uporabo ' fsObj ” spremenljivke in posredujte izbrano pot znotraj njenega oklepaja. Shranite referenco te poti znotraj ' pathFile ” spremenljivka.
  • Nato dodelite » isFile() ' metoda z ' pathFile ”, da vrne logično vrednost, ki bo pokazala, ali navedena pot vodi do datoteke ali ne.
  • Po tem ponovno pokličite ' statSync() ” in prenesite novo pot.
  • Na koncu priložite » isDirectory() ' z vrednostjo, ki jo vrne ' startSync() ” metoda.

Zdaj izvedite trenutno datoteko s spodnjim ukazom:



'vozlišče '

Na primer, izvedli smo datoteko »app.js«:

Izhod prikazuje vrednost ' prav ” vrne pomeni, da so podane poti za mapo in da je bila datoteka zaznana.

2. način: Metoda »stat()« za odkrivanje poti, ki vodi do imenika ali datoteke

Druga metoda, ki odlično deluje v asinhronem okolju, je znana kot ' stat() ', ki ga zagotavlja ' fs ” modul. Uporablja tudi isto ' isFile() « in » isDirectory() ”, vendar je zaradi svoje asinhrone narave eno pot mogoče posredovati obema metodama. Ima dva parametra, prvi je pot shranjevanja, drugi pa je funkcija povratnega klica, ki izvaja nekatere operacije na podani poti:

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

// Uporabi metodo stat().
fsObj. stat ( testPath , ( napaka , statObj ) => {
če ( ! napaka ) {
če ( statObj. isFile ( ) ) {
konzola. dnevnik ( ' \n ja! Navedena pot vodi do datoteke? ' ) ;
}
drugače če ( statObj. isDirectory ( ) ) {
konzola. dnevnik ( ' \n ja! Zagotovljena pot vodi do imenika? ' ) ;
}
}
drugače
metati napaka ;
} ) ;

Razlaga za zgoraj navedeno kodo je prikazana spodaj:

  • Najprej uvozite » fs ' in shranite njegov primerek v ' fsObj ” spremenljivka. Ustvariti ' testPath «, ki shranjuje pot, ki jo je zagotovil preizkuševalec.
  • Zdaj pokličite ' stat() ' in posredujte ' testPath ” kot prvi parameter in funkcija povratnega klica kot drugi parameter.
  • Funkcija povratnega klica vsebuje ' napaka ' kot prvi parameter in ' statObj « kot drugi. ' napaka « vsebuje napake, ki se pojavijo med izvajanjem, »startObj« pa ima navedeno pot.
  • Znotraj funkcije uporabite » če ” stavek, ki se zažene, če ni najdena nobena napaka.
  • ' ugnezdeni če ' se uporabljajo za dodelitev ' isFile() « in » isDirectory() ' metode z ' statObj ”.
  • Če metode vrnejo ' prav ” šele takrat se ta razdelek izvede in ustrezno prikaže sporočila o uspehu.

Po izvedbi zgornjega skripta se terminal prikaže takole:

Kot lahko vidite, je navedena pot zdaj zaznana in potrjuje, da navedena pot vodi do imenika.

Zaključek

Za odkrivanje, ali je podana pot pot do imenika ali datoteke v NodeJs, metode “ isFile() « in » isDirectory ' so uporabljeni. Poti, ki so dostopne s temi metodami, ponuja » statSync() « in » stat() ' metode ' fs ” Modul NodeJs. Te metode shranjujejo podane poti na sinhroni oziroma asinhroni način. Ta blog je razložil postopek za odkrivanje, ali podana pot vodi do datoteke ali imenika v NodeJS.