V Node.js je „ deskriptor súboru ” je jednoducho nezáporný celočíselný index v tabuľke deskriptorov súboru. Tabuľka deskriptora súboru je pole v rámci „ PCB (procesný riadiaci blok) “, ktorý uchováva záznamy o všetkých procesoch operačného systému. Funguje ako odkaz na otvorený súbor, ktorý sa používa na ľahkú identifikáciu alebo prístup k otvorenému súboru v operačnom systéme. Po prístupe k otvorenému súboru cez „ deskriptor súboru “, potom na ňom môže používateľ vykonať požadovanú operáciu podľa požiadaviek.
Tento zápis ukáže, ako môže používateľ interagovať s deskriptormi súborov v Node.js.
Ako interagovať s deskriptormi súborov v Node.js?
Používateľ môže interagovať s deskriptormi súborov tak, že ich získa pomocou nižšie uvedených preddefinovaných metód „ fs modul:
- Na získanie deskriptora súboru použite „fs.open()“.
- Na získanie deskriptora súboru použite „fs.openSync()“.
- Na získanie deskriptora súboru použite „fsPromise.open()“.
Pozrime sa podrobnejšie na tieto metódy jeden po druhom.
Metóda 1: Použite „fs.open()“ na získanie deskriptora súboru
' fs.open ()“ je najbežnejšie používaná metóda „ fs ” modul, ktorý asynchrónne otvára súbor na vykonávanie niekoľkých operácií, ako je čítanie, zápis, premenovanie, aktualizácia a vymazanie. Okrem toho tiež vráti „ deskriptor súboru ” po vykonaní definovanej operácie s otvoreným súborom prostredníctvom funkcie spätného volania.
Syntax
Základná syntax „ fs.open ()“ metóda je napísaná nižšie:
fs. OTVORENÉ ( názov súboru , vlajky , režim , zavolaj späť )Podľa vyššie uvedenej syntaxe „ fs.open ()“ metóda podporuje nasledujúce parametre:
- názov súboru : Určuje názov, ako aj cestu konkrétneho súboru, ktorý chce používateľ otvoriť.
- vlajky : Označuje operácie, ktoré sa vykonajú s otvoreným súborom. Predvolená hodnota je „r(read)“.
- režim : Označuje povolenia súboru, ktorý je „ 0o666 (čitateľné aj zapisovateľné) ' predvolene.
- zavolaj späť : Vykoná sa po dokončení „ fs.open ()“ metóda. Podporuje „ chybovať ” parameter, ktorý vyvolá chybu, ak sa vyskytne počas vykonávania metódy a 'údaje' parameter, ktorý vracia „ fd (deskriptor súboru) ” pre prístup k otvorenému súboru.
Návratová hodnota: ' fs.open() ” dáva deskriptor súboru ako vrátenú hodnotu.
Rôzne dostupné príznaky používané spolu s deskriptormi súborov v Node.js
Všetky typy vlajok, ktoré „ fs.open() ” metódy podporujúce vykonávanie požadovaných operácií s otvoreným súborom sú uvedené nižšie:
Vlajky | Popis |
---|---|
In | Používa sa na zápis obsahu do otvoreného súboru, bez jeho prezentovania sa vytvorí nový súbor. |
w+ | Používa sa na otvorenie súboru na vykonávanie operácií čítania a zápisu. |
wx | Funguje rovnako ako „ In “. Nevytvorí však zadaný súbor, ak nie je prítomný v systéme súborov. |
wx+ | Je to rovnaké ako „ w+ ” však zlyhá, ak súbor neexistuje. |
r | Otvorí súbor na čítanie a tiež vytvorí nový súbor, ak nie je prítomný. |
r+ | Otvorí súbor v režime čítania a zápisu. |
rs+ | Synchrónne otvorí súbor, aby vykonal úlohy čítania a zápisu doň. |
a | Otvorí súbor na pripojenie jeho obsahu. |
a+ | Otvorí súbor na prečítanie a pridanie jeho obsahu. |
sekera | Je to rovnaké ako „ a “, ale nevytvorí nový súbor, ak nie je v systéme súborov aktuálny. |
sekera+ | Funguje rovnako ako „ a+ ” však nevytvorí nový súbor. |
Po získaní základov „ fs.open ()“ metóda, prejdime k jej praktickej implementácii, aby sme získali deskriptor súboru.
Príklad: Použitie metódy „fs.open()“ na získanie deskriptora súboru s predvoleným príznakom
Tento príklad ukazuje, že platí 'fs.open()' metóda na otvorenie zadaného súboru na čítanie a vrátenie deskriptora súboru:
konšt fs = vyžadovať ( 'fs' ) ;bol res = fs. OTVORENÉ ( 'file.txt' , 'r' , funkciu ( chybovať , fd ) {
ak ( chybovať ) {
konzoly. chyba ( chybovať ) ;
} inak {
konzoly. log ( 'Súbor bol otvorený!' ) ;
konzoly. log ( fd ) ; }
} ) ;
Vysvetlenie vyššie uvedeného bloku kódu je nasledovné:
- Po prvé, „ vyžadovať ()“ metóda importuje „ fs (systém súborov) “.
- Ďalej, „ fs.open ()“ metóda určuje požadovaný názov priečinka, predvolený príznak „ r “ a spätné volanie funguje ako jeho prvý, druhý a tretí argument. Funkcia spätného volania ďalej prechádza cez „ chybovať “ a „ fd “argumenty. Táto metóda otvorí zadaný súbor na čítanie a potom vykoná danú funkciu spätného volania.
- V definícii funkcie spätného volania je „ ak 'výpis používa výraz ' console.error() ” na zobrazenie chybového hlásenia, ktoré sa objaví pri otváraní zadaného súboru.
- Ak sa nevyskytne žiadna chyba, potom sa zobrazí „ inak “ sa vykoná príkaz, ktorý využíva „ konzola.log ()“ metóda na zobrazenie overovacej správy a „deskriptora súboru“, ktorý je označený „ fd “argument.
Výkon
Teraz vykoná spustenie pre obsah „ aplikácie .js” cez:
aplikácia uzla. jsNasledujúci výstup ukazuje, že súbor je otvorený na čítanie a tiež vracia deskriptor súboru:
Metóda 2: Na získanie deskriptora súboru použite „fs.openSync()“.
' fs.openSync ()“ je vopred definovaná metóda „ fs “, ktorý synchrónne otvára súbor na vykonávanie bežných operácií: ako je čítanie, zápis, premenovanie, aktualizácia a vymazanie. Spolu so svojou základnou funkcionalitou táto metóda vracia „ deskriptor súboru “ priamo namiesto vyvolania funkcie spätného volania ako v „ fs.open ()“ metóda.
Syntax
fs. openSync ( cesta , vlajky , režim )Parametre použité vo vyššie uvedenom ' fs.openSync() “metóda je vysvetlená nižšie:
- cesta : Určuje názov a cestu konkrétneho súboru vo forme reťazca, adresy URL alebo vyrovnávacej pamäte.
- vlajky : Označuje reťazec alebo číselnú hodnotu, ktorá určuje operácie, ktoré sa vykonajú s otvoreným súborom. Predvolená hodnota je „r(read)“.
- režim : Označuje oprávnenia súboru, ktorý je „ 0o666 (čitateľné aj zapisovateľné) ' predvolene.
Návratová hodnota: ' fs.openSync() ” poskytuje ako vrátenú hodnotu celé číslo, ktoré označuje deskriptor súboru.
Postupujte podľa nášho podrobného sprievodcu na stránke „ Metóda fs.openSync(). “ na praktickú realizáciu.
Metóda 3: Na získanie deskriptora súboru použite „fsPromise.open()“.
' fsPromises.open() “ je preddefinovaná metóda „ fs “, ktorý asynchrónne otvorí súbor ako prísľub a vráti „ deskriptor súboru “. Ak je prísľub vyriešený, overí, či je zadaný priečinok otvorený, inak je odmietnutý s chybovým objektom.
Syntax
fsPromises. OTVORENÉ ( názov súboru , vlajky , režim )' fsPromises.open ()“ metóda funguje na nasledujúcich troch parametroch:
- názov súboru : Hovorí o konkrétnom názve súboru a ceste vo forme reťazca, adresy URL alebo vyrovnávacej pamäte, ktoré chce používateľ štandardne čítať.
- vlajky : Môže to byť reťazec alebo nezáporná celočíselná hodnota, ktorá určuje operácie, ktoré sa majú vykonať s otvoreným súborom. Predvolená hodnota je „r(read)“.
- režim : Určuje povolenia súboru, ktoré je „ 0o666 (čitateľné aj zapisovateľné) ' predvolene.
Návratová hodnota: Dáva to „ sľúbiť “ ako vrátená hodnota „ fsPromises.open ()“ metóda.
Postupujte podľa nášho podrobného sprievodcu na stránke „ Metóda fsPromises.open(). “ na praktickú realizáciu.
Aké rôzne operácie možno vykonávať s deskriptormi súborov v Node.js?
Po získaní deskriptora súboru ho môže používateľ použiť na prístup k tomuto konkrétnemu súboru a vykonávať s ním rôzne operácie, ako je otvorenie, zatvorenie, čítanie, zápis a mnoho ďalších. Ak chcete vykonať tieto konkrétne operácie, postupujte podľa nášho podrobného sprievodcu na „ Modul súborového systému “.
To je všetko o interakcii s deskriptormi súborov v Node.js.
Záver
Na interakciu s deskriptormi súborov použite „ fs.open()“, „fs.openSync() ', alebo ' fsPromises.open() ” metóda v Node.js. Všetky tieto metódy otvoria súbor, aby s ním vykonali rôzne operácie špecifikované prostredníctvom „ vlajka “ a tiež vrátiť „ deskriptor súboru “, čo je odkaz na otvorený súbor. Tento zápis rozpracoval spôsob interakcie s deskriptormi súborov v Node.js.