Metodo fs.readFileSync() del nodo JS
IL Metodo fs.readFileSync() è un'interfaccia di programmazione dell'applicazione integrata nel modulo fs che viene utilizzata per leggere il file e restituirne il contenuto. Nel metodo fs.readFile() possiamo leggere un file in modo asincrono non bloccante, ma nel metodo fs.readFileSync() possiamo leggere i file in modo sincrono, ovvero stiamo dicendo a node.js di bloccare altri processi paralleli ed eseguire il processo di lettura del file corrente. Cioè, quando viene chiamato il metodo fs.readFileSync(), il programma del nodo originale interrompe l'esecuzione
Sintassi:
fs.readFileSync( path, options )
parametri:
- sentiero: Prende il percorso relativo del file di testo. Il percorso può essere di tipo URL. Il file può anche essere un descrittore di file. Se entrambi i file si trovano nella stessa cartella, basta indicare il nome del file tra virgolette.
- opzioni: È un parametro facoltativo che contiene la codifica e il flag, la codifica contiene la specifica dei dati. Il suo valore predefinito è null che restituisce il buffer grezzo e il flag contiene un'indicazione delle operazioni nel file. Il suo valore predefinito è 'r'.
Valore di ritorno: Questo metodo restituisce il contenuto del file.
Esempio 1: Si tratta di alcuni dati di testo memorizzati nel file input.txt.
javascript
// Node.js program to demonstrate the> // fs.readFileSync() method> // Include fs module> const fs = require(> 'fs'> );> // Calling the readFileSync() method> // to read 'input.txt' file> const data = fs.readFileSync(> './input.txt'> ,> > { encoding:> 'utf8'> , flag:> 'r'> });> // Display the file data> console.log(data);> |
Produzione:
This is some text data which is stored in input.txt file.
Ora, la domanda è: come è possibile? fs.readFileSync() Il metodo è diverso dal metodo fs.readFile(). Un esempio in cui possiamo scoprire quando utilizzare i metodi fs.readFileSync() e fs.readFile().
Diciamo che ci sono due file di input input1.txt E input2.txt ed entrambi i file vengono salvati nella stessa cartella.
Esempio 2:
- (1) Si tratta di alcuni dati di testo memorizzati nel file input1.txt.
- (2) Si tratta di alcuni dati di testo memorizzati nel file input2.txt.
javascript
// Node.js program to demonstrate the> // fs.readFileSync() method> // Include fs module> const fs = require(> 'fs'> );> // Calling the fs.readFile() method> // for reading file 'input1.txt'> fs.readFile(> './input1.txt'> ,> > { encoding:> 'utf8'> , flag:> 'r'> },> > function> (err, data) {> > if> (err)> > console.log(err);> > else> > console.log(data);> > });> // Calling the fs.readFileSync() method> // for reading file 'input2.txt'> const data = fs.readFileSync(> './input2.txt'> ,> > { encoding:> 'utf8'> , flag:> 'r'> });> // Display data> console.log(data);> |
Produzione:
(1) This is some text data which is stored in input1.txt file. (2) This is some text data which is stored in input2.txt file.
Osservazione: L'ordine di lettura dei file in Node.js è influenzato dalla natura asincrona di 'fs.readFile()' e dalla natura sincrona di 'fs.readFileSync()'. Il loop degli eventi determina l'ordine di esecuzione e l'utilizzo di `fs.readFileSync()` può bloccare processi paralleli, influenzando l'ordine di lettura dei file osservato.