Hogyan lehet felismerni, hogy a Node.js-ben megadott elérési út egy fájl vagy könyvtár?

Hogyan Lehet Felismerni Hogy A Node Js Ben Megadott Eleresi Ut Egy Fajl Vagy Konyvtar



A fájl entitás észlelése különösen fontos, ha az alkalmazások egy fájl kezelésével foglalkoznak, vagy a felhasználói adatokat meghatározott könyvtárakban tárolják. Mivel egyetlen könyvtár több fájlt is tartalmazhat, a rájuk alkalmazható művelet magában foglalja a fájlok áthelyezését egy másik könyvtárba, vagy az összes ott lévő fájl törlését.

Ugyanez vonatkozik egy fájlra is, a műveletei közé tartozhat a fájl módosítása, adatok beszúrása a fájlba, vagy egy fájl törlése. Az egész alkalmazás összezavarodik, ha a fejlesztő fájlműveleteket alkalmaz a könyvtárakon, vagy fordítva.

Ez a cikk bemutatja azokat a módszereket, amelyek segítségével megállapítható, hogy a megadott elérési út fájl-e vagy könyvtár-e az alábbi módszerekkel:







Hogyan lehet észlelni, hogy a Node.js-ben megadott elérési út egy fájl vagy könyvtár?

Két módszert kínál a ' fs 'modul nevezetesen' isDirectory() ” és „ isFile() ”, amelynek egyetlen célja annak ellenőrzése, hogy a megadott útvonal fájlhoz vagy könyvtárhoz vezet-e. Ezeket a módszereket mind szinkron, mind aszinkron forgatókönyvekben használják a „ statSync() ” és „ statisztika() ” módszerekkel. Ezt a két módszert az alábbiakban mutatjuk be annak megállapítására, hogy a megadott útvonal fájlhoz vagy könyvtárhoz vezet-e.



1. módszer: A „statSync()” módszer a könyvtárhoz vagy fájlhoz vezető útvonalak észlelésére

A ' statSync() ” módszer által biztosított ' fs ” modult alapvetően szinkron műveletek végrehajtására szolgál. Ez a módszer esetünkben csak egyszer tárolja a megadott útvonal példányát. Ezután hozzárendeli a „ isDirectory() ” és „ isFile() ” metódusokkal adja vissza, hogy a megadott útvonal könyvtárhoz vagy fájlhoz vezet-e.



Nézzük meg az alábbi kódrészletet a „statSync()” metódus gyakorlati megvalósításához:





const fsObj = igényelnek ( 'fs' ) ;

hagyja a pathFile-t = fsObj. statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

konzol. log ( 'Van egy fájl elérési útja? ' + pathFile. isFile ( ) ) ;

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

konzol. log ( 'Van egy könyvtárhoz vezető útvonal? ' + pathDir. isDirectory ( ) ) ;

A fent megadott kód magyarázata az alábbiakban található:

  • Először importálja a „ fs ' modult, és tárolja a példányát egy ' fsObj ” változó.
  • Ezután hívja meg a „ statSync() ' módszer a ' fsObj ” változót, és adja át a kiválasztott útvonalat a zárójelében. Tárolja ennek az útvonalnak a hivatkozását a „ pathFile ” változó.
  • Ezután rendelje hozzá a „ isFile() ' módszer a ' pathFile ” logikai értéket ad vissza, amely megmutatja, hogy a megadott útvonal fájlhoz vezet-e vagy sem.
  • Ezután ismét hívja meg a „ statSync() ” módszerrel, és haladjunk az új úton.
  • Végül csatolja a „ isDirectory() ' metódus a '' által visszaadott értékkel startSync() ” módszerrel.

Most futtassa az aktuális fájlt az alábbi paranccsal:



'csomópont '

Például végrehajtottuk az „app.js” fájlt:

A kimenet a „ igaz ” kifejezés azt jelenti, hogy a megadott elérési utak a mappához tartoznak, és a rendszer észlelte a fájlt.

2. módszer: A „stat()” módszer a könyvtárhoz vagy fájlhoz vezető útvonalak észlelésére

Egy másik módszer, amely tökéletesen működik az aszinkron környezetben, a „ statisztika() ' módszer, amelyet a ' fs ” modult. Ugyanezt használja isFile() ” és „ isDirectory() ” módszerekkel, de aszinkron jellege miatt az egyetlen útvonal mindkét metódusnak átadható. Két paramétere van, az első tárolási útvonal, a második pedig egy visszahívási funkció, amely bizonyos műveleteket hajt végre a megadott útvonalon:

const fsObj = igényelnek ( 'fs' ) ,
testPath = '/Users/kahou/Documents/readlineProj'

// A stat() metódus használata
fsObj. statisztika ( testPath , ( hiba , statObj ) => {
ha ( ! hiba ) {
ha ( statObj. isFile ( ) ) {
konzol. log ( ' \n Igen! Feltéve, hogy az elérési út egy fájlhoz vezet? ' ) ;
}
más ha ( statObj. isDirectory ( ) ) {
konzol. log ( ' \n Igen! Feltéve, hogy az útvonal egy címtárhoz vezet? ' ) ;
}
}
más
dobás hiba ;
} ) ;

A fent megadott kód magyarázata az alábbiakban látható:

  • Először importálja a „ fs ' modult, és tárolja a példányát egy ' fsObj ” változó. Hozzon létre egy ' testPath ” változó, amely a tesztelő által megadott elérési utat tárolja.
  • Most hívja meg a „ statisztika() ” módszert, és adja át a „ testPath ” első paraméterként, és egy visszahívási funkció második paraméterként.
  • A visszahívási funkció a következőt tartalmazza: hiba ' első paraméterként és ' statObj ”, mint a második. A ' hiba ” tartalmazza a végrehajtás során felmerülő hibákat, a „startObj” pedig a megadott elérési utat.
  • A funkción belül használja a „ ha ” utasítás, amely akkor fut le, ha nem található hiba.
  • A ' beágyazott ha ' utasítások a ' isFile() ” és „ isDirectory() ' módszerek a következővel: ' statObj ”.
  • Ha a metódusok visszatérnek: igaz ” csak ezután az adott szakasz végrehajtásra kerül, és ennek megfelelően jeleníti meg a sikerüzeneteket.

A fenti szkript végrehajtása után a terminál így jelenik meg:

Amint láthatja, a megadott útvonalat a rendszer most észleli, és megerősíti, hogy a megadott útvonal egy könyvtárhoz vezet.

Következtetés

Annak megállapításához, hogy a megadott elérési út egy könyvtár vagy fájl elérési útja-e a NodeJ-ben, a „ isFile() ” és „ isDirectory ' használt. Az ezekkel a módszerekkel elérhető útvonalakat a „ statSync() ” és „ statisztika() ' módszerei a ' fs ” NodeJs modul. Ezek a módszerek a megadott útvonalakat szinkron és aszinkron módon tárolják. Ez a blog ismerteti az eljárást annak észlelésére, hogy a megadott elérési út egy fájlhoz vagy könyvtárhoz vezet-e a NodeJS-ben.