Kuidas tuvastada, kas pakutud tee on Node.js-s fail või kataloog?

Kuidas Tuvastada Kas Pakutud Tee On Node Js S Fail Voi Kataloog



Faili olemi tuvastamine on oluline eriti siis, kui teie rakendused tegelevad faili haldamisega või salvestavad kasutajaandmeid kindlatesse kataloogidesse. Kuna üksikud kataloogid võivad sisaldada mitut faili, hõlmab sellele rakendatav toiming failide teisaldamist teise kataloogi või kõigi olemasolevate failide kustutamist.

Sama kehtib ka faili kohta, selle toimingud võivad hõlmata faili muutmist, andmete sisestamist faili või üksikfaili kustutamist. Kogu rakendus läheb sassi, kui arendaja rakendab failitoiminguid kataloogides või vastupidi.

See artikkel illustreerib lähenemisviise, kuidas tuvastada, kas pakutav tee on fail või kataloog, hõlmates järgmisi meetodeid.







Kuidas tuvastada, kas pakutud tee on Node.js-s fail või kataloog?

Siin on kaks meetodit fs ' moodul nimelt ' isDirectory() ” ja „ isFile() ”, mille ainus eesmärk on kontrollida, kas antud tee viib faili või kataloogi. Neid meetodeid kasutatakse nii sünkroonsete kui ka asünkroonsete stsenaariumide korral, kasutades ' statSync() ” ja „ stat() ” meetodid. Neid kahte meetodit on näidatud allpool, et tuvastada, kas antud tee viib faili või kataloogi.



1. meetod: 'statSync()' meetod kataloogi või faili viivate tee tuvastamiseks

' statSync() ” pakutud meetod “ fs ” moodul kasutatakse põhiliselt sünkroonsete toimingute tegemiseks. See meetod meie puhul salvestab antud tee eksemplari ainult ühe korra. Seejärel määrab see ' isDirectory() ” ja „ isFile() ” meetodid, et tagastada, kas määratud tee viib kataloogi või faili.



Vaatame allolevat koodilõiku meetodi „statSync()” praktiliseks rakendamiseks:





konst fsObj = nõuda ( 'fs' ) ;

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

konsool. logi ( 'Kas failini on pakutud teevihjed? ' + pathFile. isFile ( ) ) ;

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

konsool. logi ( 'Kas tee viib kataloogi? ' + teeDir. isKataloog ( ) ) ;

Ülaltoodud koodi selgitus on toodud allpool:

  • Esiteks importige ' fs ' moodulit ja salvestage selle eksemplar ' fsObj ” muutuja.
  • Seejärel avage ' statSync() ' meetodit kasutades ' fsObj ” muutuja ja sisestage valitud tee selle sulgudesse. Salvestage selle tee viide jaotisesse ' pathFile ” muutuja.
  • Järgmisena määrake ' isFile() ' meetod koos ' pathFile ”, et tagastada tõeväärtus, mis näitab, kas antud tee viib faili või mitte.
  • Pärast seda käivitage uuesti ' statSync() ” meetodil ja läbida uus rada.
  • Lõpuks kinnitage ' isDirectory() ' meetod, mille väärtus tagastab ' startSync() ” meetod.

Nüüd käivitage praegune fail, kasutades allolevat käsku:



'sõlm '

Näiteks oleme käivitanud faili „app.js”:

Väljund näitab väärtust ' tõsi ” tagastatakse tähendab, et antud teed on kausta jaoks ja fail on tuvastatud.

2. meetod: 'stat()' meetod kataloogi või faili viivate tee tuvastamiseks

Teine meetod, mis töötab ideaalselt asünkroonse keskkonna jaoks, on tuntud kui ' stat() meetod, mille pakub fs ” moodul. See kasutab ka sama ' isFile() ” ja „ isDirectory() ” meetodid, kuid selle asünkroonsuse tõttu saab ühe tee edastada mõlemale meetodile. Sellel on kaks parameetrit, millest esimene on salvestamistee ja teine ​​on tagasihelistamise funktsioon, mis sooritab teatud toiminguid antud tee kaudu:

konst fsObj = nõuda ( 'fs' ) ,
testPath = '/Users/kahou/Documents/readlineProj'

// Kasuta stat() meetodit
fsObj. stat ( testPath , ( viga , statObj ) => {
kui ( ! viga ) {
kui ( statObj. isFile ( ) ) {
konsool. logi ( ' \n Jah! Kas tee viib failini? ' ) ;
}
muidu kui ( statObj. isKataloog ( ) ) {
konsool. logi ( ' \n Jah! Kas tee viib kataloogi? ' ) ;
}
}
muidu
viskama viga ;
} ) ;

Ülaltoodud koodi selgitus on näidatud allpool:

  • Esiteks importige ' fs ' moodulit ja salvestage selle eksemplar ' fsObj ” muutuja. Loo ' testPath ” muutuja, mis salvestab testija pakutud tee.
  • Nüüd kutsuge esile ' stat() ” meetodit ja edasta „ testPath ” esimese parameetrina ja tagasihelistamisfunktsiooni teise parameetrina.
  • Tagasihelistamise funktsioon sisaldab ' viga ' esimese parameetrina ja ' statObj ” nagu teine. ' viga ” sisaldab tõrkeid, mis ilmnevad täitmise ajal ja „startObj”-l on ette nähtud tee.
  • Kasutage funktsiooni sees ' kui ” avaldus, mis käivitatakse, kui viga ei leita.
  • ' pesastatud kui ' lauseid kasutatakse ' isFile() ” ja „ isDirectory() ' meetodid koos ' statObj ”.
  • Kui meetodid tagastavad ' tõsi Alles siis käivitatakse see jaotis ja kuvatakse vastavalt eduteated.

Pärast ülaltoodud skripti täitmist näeb terminal välja selline:

Nagu näete, on esitatud tee nüüd tuvastatud ja see kinnitab, et antud tee viib kataloogi.

Järeldus

Et tuvastada, kas antud tee on NodeJ-s oleva kataloogi või faili tee, kasutage meetodeid ' isFile() ” ja „ isKataloog ” kasutatakse. Nende meetodite abil juurdepääsetavad teed pakuvad ' statSync() ” ja „ stat() meetodid fs ” NodeJs moodul. Need meetodid salvestavad pakutavad teed vastavalt sünkroonselt ja asünkroonselt. Selles ajaveebis on selgitatud protseduuri, mille abil saab tuvastada, kas antud tee viib NodeJS-i faili või kataloogi.