Hoe te communiceren met bestandsdescriptors in Node.js?

Hoe Te Communiceren Met Bestandsdescriptors In Node Js



In Node.js wordt de “ bestandsbeschrijving ” is eenvoudigweg een niet-negatieve gehele index in de bestandsdescriptortabel. De bestandsdescriptortabel is een array binnen de “ PCB (procesbesturingsblok) ”dat de gegevens bijhoudt van alle processen van een besturingssysteem. Het fungeert als referentie voor een geopend bestand dat wordt gebruikt om een ​​geopend bestand eenvoudig in een besturingssysteem te identificeren of te openen. Zodra het geopende bestand toegankelijk is via de “ bestandsbeschrijving ', dan kan de gebruiker er volgens de vereisten de gewenste bewerking op uitvoeren.

Dit artikel laat zien hoe de gebruiker kan communiceren met de bestandsdescriptors in Node.js.







Hoe te communiceren met bestandsdescriptors in Node.js?

De gebruiker kan communiceren met de bestandsdescriptors en deze ophalen met behulp van de hieronder genoemde, vooraf gedefinieerde methoden van de “ fs ” module:



Laten we deze methoden een voor een nader toelichten.



Methode 1: Gebruik “fs.open()” om een ​​bestandsdescriptor op te halen

De ' fs.open ()” is de meest gebruikte methode van de “ fs ”-module die het bestand asynchroon opent voor het uitvoeren van verschillende bewerkingen, zoals lezen, schrijven, hernoemen, bijwerken en verwijderen. Bovendien retourneert het ook een “ bestandsbeschrijving ”na het uitvoeren van de gedefinieerde bewerking op het geopende bestand via de callback-functie.





Syntaxis

De basissyntaxis van de “ fs.open ()”methode staat hieronder:

fs. open ( bestandsnaam , vlaggen , modus , Bel terug )

Volgens de bovengenoemde syntaxis is de “ fs.open ()”methode ondersteunt de volgende parameters:



  • bestandsnaam : Het specificeert de naam en het pad van het specifieke bestand dat de gebruiker wil openen.
  • vlaggen : Dit geeft de bewerkingen aan die op het geopende bestand worden uitgevoerd. De standaardwaarde is standaard “r(read)”.
  • modus : Het geeft de machtigingen aan van het bestand dat “ 0o666 (zowel leesbaar als beschrijfbaar) ' standaard.
  • Bel terug : Het wordt uitgevoerd na voltooiing van de “ fs.open ()” methode. Het ondersteunt de “ fout ”-parameter die een fout genereert als deze optreedt tijdens de uitvoering van de methode en de 'gegevens' parameter die de “ fd(bestandsbeschrijving) ” om toegang te krijgen tot het geopende bestand.

Winstwaarde: De ' fs.open() ” geeft een bestandsdescriptor als geretourneerde waarde.

Verschillende beschikbare vlaggen gebruikt samen met bestandsdescriptors in Node.js

Alle soorten vlaggen die de “ fs.open() ”methode-ondersteuning voor het uitvoeren van de gewenste bewerkingen op het geopende bestand vindt u hieronder:

Vlaggen Beschrijving
In Het wordt gebruikt om de inhoud in een geopend bestand te schrijven, zonder deze te presenteren wordt er een nieuw bestand gemaakt.
w+ Het wordt gebruikt om het bestand te openen en er lees- en schrijfbewerkingen op uit te voeren.
wx Het werkt hetzelfde als de “ In ”. Het opgegeven bestand wordt echter niet gemaakt als het niet aanwezig is in het bestandssysteem.
wx+ Het is hetzelfde als de “ w+ 'Het mislukt echter als het bestand niet bestaat.
R Het opent het bestand om het te lezen en maakt ook een nieuw bestand aan als het niet aanwezig is.
r+ Het opent het bestand in leesbare en schrijfbare modus.
rs+ Het opent synchroon een bestand om de lees- en schrijftaken uit te voeren.
A Het opent het bestand om de inhoud ervan toe te voegen.
een+ Het opent het bestand om de inhoud ervan te lezen en toe te voegen.
bijl Het is hetzelfde als de “ A ”Maar er wordt geen nieuw bestand gemaakt als het niet recent is in het bestandssysteem.
bijl+ Het werkt hetzelfde als de “ een+ ” Er wordt echter geen nieuw bestand gemaakt.

Nadat u de basisbeginselen van de “ fs.open ()”-methode, laten we verder gaan met de praktische implementatie ervan om de bestandsdescriptor te verkrijgen.

Voorbeeld: toepassing van de methode “fs.open()” om de bestandsdescriptor met standaardvlag op te halen

Dit voorbeeld laat zien dat de “fs.open()” methode om het opgegeven bestand te openen voor het lezen en retourneren van de bestandsdescriptor:

const fs = vereisen ( 'fs' ) ;
was res = fs. open ( 'bestand.txt' , 'R' , functie ( fout , fd ) {
als ( fout ) {
troosten. fout ( fout ) ;
} anders {
troosten. loggen ( 'Bestand geopend!' ) ;
troosten. loggen ( fd ) ; }
} ) ;

De uitleg van het bovenstaande codeblok is als volgt:

  • In de eerste plaats de “ vereisen ()”methode importeert de “ fs(bestandssysteem) ”module.
  • Vervolgens wordt de “ fs.open ()”methode specificeert de gewenste mapnaam, standaardvlag “ R ”, en een callback-functie als respectievelijk het eerste, tweede en derde argument. De callback-functie geeft verder de “ fout ' en de ' fd argumenten. Deze methode opent het opgegeven bestand om te lezen en voert vervolgens de gegeven callback-functie uit.
  • In de callback-functiedefinitie wordt een “ als 'verklaring gebruikt de' console.error() ”-methode om de foutmelding weer te geven die optreedt tijdens het openen van het opgegeven bestand.
  • Als er geen fout optreedt, verschijnt de melding “ anders ”-instructie wordt uitgevoerd die gebruikmaakt van de “ console.log ()”-methode om het verificatiebericht en de “bestandsdescriptor” weer te geven die wordt aangegeven met de “ fd argument.

Uitvoer

Voert nu de uitvoering uit voor het bevatten van “ app .js”-bestand via:

knooppunt-app. js

De onderstaande uitvoer laat zien dat het bestand wordt geopend om te lezen en retourneert ook de bestandsdescriptor:

Methode 2: Gebruik “fs.openSync()” om een ​​bestandsdescriptor op te halen

De ' fs.openSync ()” is de vooraf gedefinieerde methode van de “ fs ”-module die het bestand synchroon opent om algemene bewerkingen uit te voeren: zoals lezen, schrijven, hernoemen, bijwerken en verwijderen. Samen met de basisfunctionaliteit retourneert deze methode een “ bestandsbeschrijving ' direct in plaats van de callback-functie aan te roepen zoals in de ' fs.open ()” methode.

Syntaxis

fs. openSync ( pad , vlaggen , modus )

De parameters die in het bovenstaande “ fs.openSync() ”-methode wordt hieronder uitgelegd:

  • pad : Het specificeert de naam en het pad van het specifieke bestand in de vorm van een tekenreeks, URL of buffer.
  • vlaggen : Het geeft de tekenreeks of numerieke waarde aan die de bewerkingen specificeert die op het geopende bestand worden uitgevoerd. De standaardwaarde is standaard “r(read)”.
  • modus : Het geeft de machtigingen aan van het bestand dat “ 0o666 (zowel leesbaar als beschrijfbaar) ' standaard.

Winstwaarde: De ' fs.openSync() ” levert een geheel getal op als geretourneerde waarde die de bestandsdescriptor aangeeft.

Volg onze gedetailleerde gids over de “ fs.openSync() Methode ” voor praktische implementatie.

Methode 3: Gebruik “fsPromise.open()” om een ​​bestandsdescriptor op te halen

De ' fsPromises.open() ” is de vooraf gedefinieerde methode van de “ fs ”-module die het bestand asynchroon opent als een belofte en een “ bestandsbeschrijving ”. Als de belofte wordt opgelost, wordt gecontroleerd of de opgegeven map is geopend, anders wordt deze afgewezen met een foutobject.

Syntaxis

fsBeloofden. open ( bestandsnaam , vlaggen , modus )

De ' fsPromises.open ()”-methode werkt op de volgende drie parameters:

  • bestandsnaam : Het vertelt de specifieke bestandsnaam en het pad in de vorm van een tekenreeks, URL of buffer die de gebruiker standaard wil lezen.
  • vlaggen : Het kan een tekenreeks of een niet-negatieve gehele waarde zijn die de bewerkingen specificeert die op het geopende bestand moeten worden uitgevoerd. De standaardwaarde is standaard “r(read)”.
  • modus : Het specificeert de bestandsrechten die “ 0o666 (zowel leesbaar als beschrijfbaar) ' standaard.

Winstwaarde: Het geeft een “ belofte ” als een geretourneerde waarde van de “ fsPromises.open ()” methode.

Volg onze gedetailleerde gids over de “ fsPromises.open() Methode ” voor praktische implementatie.

Welke verschillende bewerkingen kunnen worden uitgevoerd met bestandsdescriptors in Node.js?

Zodra de bestandsdescriptor is opgehaald, kan de gebruiker deze gebruiken om toegang te krijgen tot dat specifieke bestand en er verschillende bewerkingen op uit te voeren, zoals openen, sluiten, lezen, schrijven en nog veel meer. Om deze specifieke handelingen uit te voeren, volgt u onze gedetailleerde gids over “ Bestandssysteemmodule ”.

Dat draait allemaal om interactie met de bestandsdescriptors in Node.js.

Conclusie

Om te communiceren met de bestandsdescriptors, gebruikt u de “ fs.open()”, “fs.openSync() ', of de ' fsPromises.open() ”-methode in Node.js. Al deze methoden openen het bestand om er verschillende bewerkingen op uit te voeren, gespecificeerd via de “ vlag ” parameter en retourneert ook de “ bestandsbeschrijving ” wat de referentie is van het geopende bestand. In dit artikel wordt dieper ingegaan op de interactie met de bestandsdescriptors in Node.js.