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);> |
>
sommatore completo
>
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.