Come interagire con i descrittori di file in Node.js?

Come Interagire Con I Descrittori Di File In Node Js



In Node.js, il ' descrittore di file ' è semplicemente un indice intero non negativo nella tabella dei descrittori di file. La tabella dei descrittori di file è un array all'interno del ' PCB (blocco di controllo del processo) ” che conserva i record di tutti i processi di un sistema operativo. Funziona come riferimento di un file aperto che viene utilizzato per identificare o accedere facilmente a un file aperto in un sistema operativo. Una volta effettuato l'accesso al file aperto tramite il pulsante ' descrittore di file ' quindi l'utente può eseguire l'operazione desiderata su di esso secondo i requisiti.

Questo articolo mostrerà come l'utente può interagire con i descrittori di file in Node.js.







Come interagire con i descrittori di file in Node.js?

L'utente può interagire con i descrittori di file in modo da recuperarli con l'aiuto dei metodi predefiniti indicati di seguito del ' fs ' modulo:



Esaminiamo questi metodi uno per uno.



Metodo 1: utilizzare 'fs.open()' per ottenere un descrittore di file

IL ' fs.open ()” è il metodo più comunemente utilizzato per “ fs ' che apre in modo asincrono il file per eseguire diverse operazioni come leggerlo, scriverlo, rinominarlo, aggiornarlo ed eliminarlo. Inoltre, restituisce anche un “ descrittore di file ' dopo aver eseguito l'operazione definita sul file aperto tramite la funzione di callback.





Sintassi

La sintassi di base del “ fs.open ()” è scritto di seguito:

fs. aprire ( nome del file , bandiere , modalità , richiamare )

Secondo la sintassi sopra indicata, il “ fs.open ()” supporta i seguenti parametri:



  • nome del file : Specifica il nome e il percorso del particolare file che l'utente desidera aprire.
  • bandiere : Indica le operazioni che verranno eseguite sul file aperto. Il suo valore predefinito è 'r(read)' per impostazione predefinita.
  • modalità : Indica i permessi del file che è “ 0o666(sia leggibile che scrivibile) 'per impostazione predefinita.
  • richiamare : Viene eseguito dopo il completamento del “ fs.open ()' metodo. Supporta il “ errare ” che genera un errore se si verifica durante l'esecuzione del metodo e il file 'dati' parametro che restituisce il ' fd(descrittore di file) ' per accedere al file aperto.

Valore di ritorno: IL ' fs.open() ' fornisce un descrittore di file come valore restituito.

Diversi flag disponibili utilizzati insieme ai descrittori di file in Node.js

Tutti i tipi di bandiere che il “ fs.open() I supporti del metodo per eseguire le operazioni desiderate sul file aperto sono elencati di seguito:

Bandiere Descrizione
In Serve per scrivere il contenuto in un file aperto, senza presentarlo verrà creato un nuovo file.
w+ Viene utilizzato per aprire il file per eseguire operazioni di lettura e scrittura su di esso.
wx Funziona allo stesso modo del “ In ”. Tuttavia, non crea il file specificato se non è presente nel file system.
wx+ È lo stesso del “ w+ 'Tuttavia fallisce se il file non esiste.
R Apre il file per leggerlo e crea anche un nuovo file se non è presente.
r+ Apre il file in modalità leggibile e scrivibile.
rs+ Apre in modo sincrono un file per eseguire le attività di lettura e scrittura su di esso.
UN Apre il file per aggiungerne il contenuto.
a+ Apre il file per leggerlo e aggiungerne il contenuto.
ascia È lo stesso del “ UN ' ma non crea un nuovo file se non è recente nel file system.
ascia+ Funziona allo stesso modo del “ a+ 'Tuttavia non crea un nuovo file.

Dopo aver acquisito le nozioni di base del “ fs.open ()” passiamo alla sua implementazione pratica per ottenere il descrittore di file.

Esempio: applicazione del metodo 'fs.open()' per ottenere il descrittore di file con il flag predefinito

Questo esempio mostra l'applicazione di “fs.open()” metodo per aprire il file specificato per leggere e restituire il descrittore di file:

cost fs = richiedere ( 'fs' ) ;
era ris = fs. aprire ( 'file.txt' , 'R' , funzione ( errare , fd ) {
Se ( errare ) {
consolle. errore ( errare ) ;
} altro {
consolle. tronco d'albero ( 'File aperto!' ) ;
consolle. tronco d'albero ( fd ) ; }
} ) ;

La spiegazione del blocco di codice sopra è la seguente:

  • In primo luogo, il “ richiedere ()” importa il metodo “ fs(file system) ' modulo.
  • Successivamente, il “ fs.open ()” metodo specifica il nome della cartella desiderata, flag predefinito “ R ', e una funzione di callback rispettivamente come primo, secondo e terzo argomento. La funzione di callback passa inoltre il ' errare ' e il ' fd ' argomenti. Questo metodo apre il file specificato per la lettura e quindi esegue la funzione di callback specificata.
  • Nella definizione della funzione di callback, un ' Se L'istruzione ' utilizza il ' console.errore() ' per visualizzare il messaggio di errore che si verifica durante l'apertura del file specificato.
  • Se non si verifica alcun errore, il messaggio ' altro ' verrà eseguita l'istruzione che utilizza l'istruzione ' console.log ()' per visualizzare il messaggio di verifica e il 'descrittore di file' indicato dal simbolo ' fd ' discussione.

Produzione

Ora, esegue l'esecuzione per contenere ' app .js” tramite:

nodo app. js

L'output seguente mostra che il file è aperto in lettura e restituisce anche il descrittore del file:

Metodo 2: utilizzare 'fs.openSync()' per ottenere un descrittore di file

IL ' fs.openSync ()” è il metodo predefinito del “ fs ' che apre in modo sincrono il file per eseguire operazioni comuni: come leggerlo, scriverlo, rinominarlo, aggiornarlo ed eliminarlo. Insieme alle sue funzionalità di base, questo metodo restituisce un ' descrittore di file ' direttamente invece di invocare la funzione di callback come nel ' fs.open ()' metodo.

Sintassi

fs. openSync ( sentiero , bandiere , modalità )

I parametri utilizzati in precedenza “ fs.openSync() Il metodo è spiegato di seguito:

  • sentiero : specifica il nome e il percorso del file particolare sotto forma di stringa, URL o buffer.
  • bandiere : Indica la stringa o il valore numerico che specifica le operazioni che verranno eseguite sul file aperto. Il suo valore predefinito è 'r(read)' per impostazione predefinita.
  • modalità : Indica i permessi del file che è “ 0o666(sia leggibile che scrivibile) 'per impostazione predefinita.

Valore di ritorno: IL ' fs.openSync() ' fornisce un numero intero come valore restituito che denota il descrittore di file.

Segui la nostra guida dettagliata su “ Metodo fs.openSync() ” per l’implementazione pratica.

Metodo 3: utilizzare 'fsPromise.open()' per ottenere un descrittore di file

IL ' fsPromises.open() ' è il metodo predefinito del ' fs ' che apre in modo asincrono il file come promessa e restituisce un ' descrittore di file ”. Se la promessa viene risolta allora verifica che la cartella specificata sia aperta altrimenti viene rifiutata con un oggetto errore.

Sintassi

fsPromises. aprire ( nome del file , bandiere , modalità )

IL ' fsPromises.open ()” funziona sui seguenti tre parametri:

  • nome del file : indica il nome file specifico e il percorso sotto forma di stringa, URL o buffer che l'utente desidera leggere per impostazione predefinita.
  • bandiere : Può essere una stringa o un valore intero non negativo che specifica le operazioni da eseguire sul file aperto. Il suo valore predefinito è 'r(read)' per impostazione predefinita.
  • modalità : Specifica i permessi del file ovvero “ 0o666(sia leggibile che scrivibile) 'per impostazione predefinita.

Valore di ritorno: Dà un “ promettere ' come valore restituito di ' fsPromises.open ()' metodo.

Segui la nostra guida dettagliata su “ Metodo fsPromises.open() ” per l’implementazione pratica.

Quali diverse operazioni possono essere eseguite con i descrittori di file in Node.js?

Una volta recuperato il descrittore di file, l'utente può utilizzarlo per accedere a quel particolare file ed eseguire diverse operazioni su di esso come aprire, chiudere, leggere, scrivere e molto altro. Per eseguire queste particolari operazioni seguite la nostra guida dettagliata su “ Modulo del file system ”.

Si tratta di interagire con i descrittori di file in Node.js.

Conclusione

Per interagire con i descrittori di file, utilizzare il pulsante ' fs.open()”, “fs.openSync() ', o il ' fsPromises.open() 'metodo in Node.js. Tutti questi metodi aprono il file per eseguire diverse operazioni su di esso specificate tramite ' bandiera ' e restituire anche il ' descrittore di file ' che è il riferimento del file aperto. Questo articolo ha spiegato come interagire con i descrittori di file in Node.js.