Cum să interacționezi cu descriptorii de fișiere din Node.js?

Cum Sa Interactionezi Cu Descriptorii De Fisiere Din Node Js



În Node.js, „ descriptor de fișier ” este pur și simplu un index întreg nenegativ în tabelul descriptor al fișierului. Tabelul descriptor al fișierului este o matrice în cadrul „ PCB (Bloc de control al procesului) ” care păstrează evidența tuturor proceselor unui sistem de operare. Acționează ca referință a unui fișier deschis care este utilizat pentru a identifica sau accesa cu ușurință un fișier deschis într-un sistem de operare. Odată ce fișierul deschis este accesat prin intermediul „ descriptor de fișier ” atunci utilizatorul poate efectua operația dorită asupra acestuia conform cerințelor.

Acest articol va arăta cum poate interacționa utilizatorul cu descriptorii fișierelor din Node.js.







Cum să interacționați cu descriptorii de fișiere din Node.js?

Utilizatorul poate interacționa cu descriptorii fișierelor într-un mod de a le regăsi cu ajutorul metodelor predefinite de mai jos ale „ fs ”modul:



Să detaliem aceste metode una câte una.



Metoda 1: Folosiți „fs.open()” pentru a obține un descriptor de fișier

fs.deschis ()” este metoda cea mai des folosită a „ fs ” modul care deschide fișierul în mod asincron pentru a efectua mai multe operațiuni precum citirea, scrierea, redenumirea, actualizarea și ștergerea acestuia. Mai mult, returnează și un „ descriptor de fișier ” după efectuarea operației definite pe fișierul deschis prin funcția de apel invers.





Sintaxă

Sintaxa de bază a „ fs.deschis ()” metoda se scrie mai jos:

fs. deschis ( nume de fișier , steaguri , modul , sună din nou )

Conform sintaxei de mai sus, „ fs.deschis Metoda ()” acceptă următorii parametri:



  • nume de fișier : Specifică numele, precum și calea anumitor fișiere pe care utilizatorul dorește să-l deschidă.
  • steaguri : Indică operațiunile care vor fi efectuate asupra fișierului deschis. Valoarea sa implicită este „r(read)” în mod implicit.
  • modul : indică permisiunile fișierului care este „ 0o666 (atât citibil, cât și inscriptibil) ' în mod implicit.
  • sună din nou : Se execută după finalizarea „ fs.deschis ()” metoda. Susține „ a greșit ” parametru care aruncă o eroare dacă apare în timpul execuției metodei și 'date' parametrul care returnează „ fd(descriptor de fișier) ” pentru a accesa fișierul deschis.

Valoare returnată: fs.open() ” oferă un descriptor de fișier ca valoare returnată.

Diferite steaguri disponibile utilizate împreună cu descriptorii de fișiere în Node.js

Toate tipurile de steaguri care „ fs.open() ” Suporturile metodei pentru efectuarea operațiunilor dorite pe fișierul deschis sunt enumerate mai jos:

Steaguri Descriere
În Este folosit pentru a scrie conținutul într-un fișier deschis, fără a-l prezenta se va crea un fișier nou.
w+ Este folosit pentru a deschide fișierul pentru a efectua operațiuni de citire și scriere pe acesta.
wx Funcționează la fel ca „ În ”. Cu toate acestea, nu creează fișierul specificat dacă acesta nu este prezent în sistemul de fișiere.
wx+ Este la fel cu „ w+ ” cu toate acestea, eșuează dacă fișierul nu există.
r Deschide fișierul pentru a-l citi și, de asemenea, creează un fișier nou dacă nu este prezent.
r+ Deschide fișierul în modul citibil și scris.
rs+ Deschide sincron un fișier pentru a efectua sarcinile de citire și scriere pe el.
A Deschide fișierul pentru adăugarea conținutului acestuia.
a+ Deschide fișierul pentru citire și adăugare a conținutului acestuia.
topor Este la fel cu „ A ” dar nu creează un fișier nou dacă nu este recent în sistemul de fișiere.
topor+ Funcționează la fel ca „ a+ ” cu toate acestea, nu creează un fișier nou.

După ce ați obținut elementele de bază ale „ fs.deschis ()” să trecem la implementarea sa practică pentru a obține descriptorul fișierului.

Exemplu: aplicarea metodei „fs.open()” pentru a obține un descriptor de fișier cu steag implicit

Acest exemplu arată că se aplică „fs.open()” metoda de deschidere a fișierului specificat pentru citirea și returnarea descriptorului de fișier:

const fs = cere ( „fs” ) ;
a fost res = fs. deschis ( „fișier.txt” , 'r' , funcţie ( a greșit , fd ) {
dacă ( a greșit ) {
consolă. eroare ( a greșit ) ;
} altfel {
consolă. Buturuga ( „Fișier deschis!” ) ;
consolă. Buturuga ( fd ) ; }
} ) ;

Explicația blocului de cod de mai sus este următoarea:

  • În primul rând, „ cere ()” importă metoda „ fs (sistem de fișiere) ” modulul.
  • În continuare, „ fs.deschis ()” metoda specifică numele folderului dorit, steag implicit „ r ”, și o funcție de apel invers ca primul, al doilea și, respectiv, al treilea argument. Funcția de apel invers trece în continuare „ a greșit ' si ' fd ' argumente. Această metodă deschide fișierul specificat pentru citire și apoi execută funcția de apel invers dată.
  • În definiția funcției de apel invers, un „ dacă ” declarația folosește „ console.error() ” pentru a afișa mesajul de eroare care apare la deschiderea fișierului specificat.
  • Dacă nu apare nicio eroare, atunci „ altfel ” se va executa instrucțiunea care utilizează „ console.log ()” pentru a afișa mesajul de verificare și „descriptorul fișierului” care este notat cu „ fd ' argument.

Ieșire

Acum, efectuează execuția pentru care conține „ aplicația .js” prin:

aplicația nodului. js

Rezultatul de mai jos arată că fișierul este deschis pentru citire și returnează, de asemenea, descriptorul fișierului:

Metoda 2: Folosiți „fs.openSync()” pentru a obține un descriptor de fișier

fs.openSync ()” este metoda predefinită a „ fs ” modul care deschide sincron fișierul pentru a efectua operațiuni comune: cum ar fi citirea, scrierea, redenumirea, actualizarea și ștergerea acestuia. Împreună cu funcționalitatea de bază, această metodă returnează un „ descriptor de fișier ” direct în loc de a invoca funcția de apel invers ca în „ fs.deschis ()” metoda.

Sintaxă

fs. openSync ( cale , steaguri , modul )

Parametrii utilizați în cele de mai sus „ fs.openSync() ” metoda este explicată mai jos:

  • cale : specifică numele și calea unui anumit fișier sub forma unui șir, URL sau buffer.
  • steaguri : Indică șirul sau valoarea numerică care specifică operațiunile care vor fi efectuate asupra fișierului deschis. Valoarea sa implicită este „r(read)” în mod implicit.
  • modul : denotă permisiunile fișierului care este „ 0o666 (atât citibil, cât și inscriptibil) ' în mod implicit.

Valoare returnată: fs.openSync() ” furnizează un număr întreg ca valoare returnată care denotă descriptorul fișierului.

Urmați ghidul nostru detaliat despre „ fs.openSync() Metoda ” pentru implementare practică.

Metoda 3: Folosiți „fsPromise.open()” pentru a obține un descriptor de fișier

fsPromises.open() ” este metoda predefinită a „ fs ” modul care deschide fișierul în mod asincron ca o promisiune și returnează un „ descriptor de fișier ”. Dacă promisiunea este rezolvată, atunci se verifică dacă folderul specificat este deschis, altfel este respins cu un obiect de eroare.

Sintaxă

fsPromise. deschis ( nume de fișier , steaguri , modul )

fsPromises.deschis ()” metoda funcționează pe următorii trei parametri:

  • nume de fișier : indică numele anumitor fișiere și calea sub forma unui șir, URL sau buffer pe care utilizatorul dorește să o citească în mod implicit.
  • steaguri : Poate fi un șir sau o valoare întreagă nenegativă care specifică operațiunile de efectuat pe fișierul deschis. Valoarea sa implicită este „r(read)” în mod implicit.
  • modul : Specifică permisiunile pentru fișiere care sunt „ 0o666 (atât citibil, cât și inscriptibil) ' în mod implicit.

Valoare returnată: Oferă un „ promisiune ” ca valoare returnată a „ fsPromises.deschis ()” metoda.

Urmați ghidul nostru detaliat despre „ fsPromises.open() Metoda ” pentru implementare practică.

Ce operațiuni diferite pot fi efectuate cu descriptori de fișiere în Node.js?

Odată ce descriptorul de fișier este preluat, utilizatorul îl poate folosi pentru a accesa acel fișier special pentru a efectua diferite operațiuni pe el, cum ar fi deschiderea, închiderea, citirea, scrierea și multe altele. Pentru a efectua aceste operațiuni particulare, urmați ghidul nostru detaliat despre „ Modulul sistem de fișiere ”.

Este vorba despre interacțiunea cu descriptorii de fișiere din Node.js.

Concluzie

Pentru a interacționa cu descriptorii fișierului, utilizați „ fs.open()”, „fs.openSync() ', sau ' fsPromises.open() ” în Node.js. Toate aceste metode deschid fișierul pentru a efectua diferite operațiuni pe acesta specificate prin „ steag ” și returnează, de asemenea, „ descriptor de fișier ” care este referința fișierului deschis. Acest articol a explicat cum să interacționați cu descriptorii fișierelor din Node.js.