📢 Nuovo Corso Laravel API disponibile!

Lettura di file con Node.js

Il modo più semplice per leggere un file in Node.js è utilizzare il metodo fs.readFile(), passandogli il percorso del file, la codifica e una funzione di callback che verrà chiamata con i dati del file (e l’errore):

const fs = require("node:fs");
fs.readFile("/Users/joe/test.txt", "utf8", (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});

In alternativa, puoi utilizzare la versione sincrona fs.readFileSync():

const fs = require("node:fs");
try {
const data = fs.readFileSync("/Users/joe/test.txt", "utf8");
console.log(data);
} catch (err) {
console.error(err);
}

Puoi anche utilizzare il metodo basato su promesse fsPromises.readFile() offerto dal modulo fs/promises:

const fs = require("node:fs/promises");
async function esempio() {
try {
const data = await fs.readFile("/Users/joe/test.txt", { encoding: "utf8" });
console.log(data);
} catch (err) {
console.log(err);
}
}
esempio();

Tutti e tre, fs.readFile(), fs.readFileSync() e fsPromises.readFile(), leggono l’intero contenuto del file in memoria prima di restituire i dati.

Ciò significa che i file di grandi dimensioni avranno un impatto significativo sul consumo di memoria e sulla velocità di esecuzione del programma.

In questo caso, una migliore opzione è leggere il contenuto del file utilizzando gli stream.