Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Lavorare con il File System in Node.js | Creazione di Applicazioni Console con Node.js
Sviluppo Backend con Node.js ed Express.js

Lavorare con il File System in Node.js

Scorri per mostrare il menu

Il modulo FileSystem (fs) è un modulo core di Node.js che offre potenti funzionalità per interagire con i file in modo programmatico. Questo modulo è utile in diverse attività, tra cui la gestione delle configurazioni, l'organizzazione dei dati e la lettura e scrittura del contenuto dei file.

Lettura dei file con fs.readFile

Il metodo fs.readFile restituisce una promise che si risolve con il contenuto del file. Consente la lettura asincrona dei file, risultando adatto sia per file di testo che binari.

fs.readFile(path, options)
  • path - il percorso del file da leggere;
  • options - un oggetto opzionale che specifica opzioni come la codifica.

Immagina di costruire una piattaforma di blogging dinamica. Qui, il metodo fs.readFile entra in gioco, recuperando rapidamente il contenuto dei post del blog da un file.

Esempio di codice: Lettura del contenuto

const fs = require('fs').promises;

fs.readFile('blog-post.txt', 'utf-8')
  .then(content => {
    console.log('Current content:', content);
  })
  .catch(err => {
    console.error('Error reading file:', err);
  });

Spiegazione passo passo

Scrittura di file con fs.writeFile

Il metodo fs.writeFile restituisce una promise che si risolve quando il file è stato scritto. Viene utilizzato per scrivere dati in modo asincrono su un file, che può essere nuovo o esistente. Offre opzioni per specificare i dati, la codifica e i permessi del file.

fs.writeFile(file, data, options)
  • file - il percorso del file su cui scrivere;
  • data - i dati da scrivere, che possono essere una stringa o un buffer;
  • options - un oggetto opzionale che specifica opzioni come la codifica e la modalità del file.

Immagina di dover salvare un nuovo utente nel file user-db.json. Qui il metodo fs.writeFile garantisce che le nostre informazioni trovino il loro posto.

Esempio di codice: Scrittura dei dati utente

const fs = require("fs").promises;

const newUser = {
  id: 1,
  username: "Nero",
  email: "arman@example.com",
};

const fileName = "user-db.json";

fs.writeFile(fileName, JSON.stringify(newUser), "utf-8")
  .then(() => {
    console.log("User information saved successfully.");
  })
  .catch((err) => {
    console.error("Error writing file:", err);
  });

Spiegazione passo dopo passo

Estensione con fs.appendFile

Il metodo fs.appendFile restituisce una promise che si risolve quando i dati sono stati aggiunti al file. Viene utilizzato per aggiungere dati in modo asincrono a un file esistente, preservando il contenuto precedente.

fs.appendFile(file, data, options)
  • file - il percorso del file a cui verranno aggiunti i dati;
  • data - i dati da aggiungere, che possono essere una stringa o un buffer;
  • options - un oggetto opzionale che specifica opzioni come la codifica e la modalità del file.

Immagina una vivace applicazione di chat che registra le conversazioni. Man mano che arrivano nuovi messaggi, il metodo fs.appendFile aggiunge i nuovi messaggi al registro della chat mantenendo le interazioni precedenti.

Esempio di codice: Aggiunta di messaggi alla chat

const fs = require("fs").promises;

const newMessage = "User2: Hello, how are you?";

fs.appendFile("chat.txt", newMessage + "\n")
  .then(() => {
    console.log("Message added to chat log.");
  })
  .catch((err) => {
    console.error("Error appending message:", err);
  });

Spiegazione passo per passo

Note
Nota
  • fs.writeFile viene utilizzato per sostituire completamente il contenuto di un file o creare un nuovo file;
  • fs.appendFile viene utilizzato per aggiungere nuovi dati alla fine di un file esistente senza sovrascrivere ciò che è già presente.

1. Il modulo fs ci permette di interagire programmaticamente con i file.

2. Quale metodo useremmo per leggere il contenuto di un file?

3. In che modo fs.appendFile differisce da fs.writeFile?

question mark

Il modulo fs ci permette di interagire programmaticamente con i file.

Seleziona la risposta corretta

question mark

Quale metodo useremmo per leggere il contenuto di un file?

Seleziona la risposta corretta

question mark

In che modo fs.appendFile differisce da fs.writeFile?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Lavorare con il File System in Node.js

Il modulo FileSystem (fs) è un modulo core di Node.js che offre potenti funzionalità per interagire con i file in modo programmatico. Questo modulo è utile in diverse attività, tra cui la gestione delle configurazioni, l'organizzazione dei dati e la lettura e scrittura del contenuto dei file.

Lettura dei file con fs.readFile

Il metodo fs.readFile restituisce una promise che si risolve con il contenuto del file. Consente la lettura asincrona dei file, risultando adatto sia per file di testo che binari.

fs.readFile(path, options)
  • path - il percorso del file da leggere;
  • options - un oggetto opzionale che specifica opzioni come la codifica.

Immagina di costruire una piattaforma di blogging dinamica. Qui, il metodo fs.readFile entra in gioco, recuperando rapidamente il contenuto dei post del blog da un file.

Esempio di codice: Lettura del contenuto

const fs = require('fs').promises;

fs.readFile('blog-post.txt', 'utf-8')
  .then(content => {
    console.log('Current content:', content);
  })
  .catch(err => {
    console.error('Error reading file:', err);
  });

Spiegazione passo passo

Scrittura di file con fs.writeFile

Il metodo fs.writeFile restituisce una promise che si risolve quando il file è stato scritto. Viene utilizzato per scrivere dati in modo asincrono su un file, che può essere nuovo o esistente. Offre opzioni per specificare i dati, la codifica e i permessi del file.

fs.writeFile(file, data, options)
  • file - il percorso del file su cui scrivere;
  • data - i dati da scrivere, che possono essere una stringa o un buffer;
  • options - un oggetto opzionale che specifica opzioni come la codifica e la modalità del file.

Immagina di dover salvare un nuovo utente nel file user-db.json. Qui il metodo fs.writeFile garantisce che le nostre informazioni trovino il loro posto.

Esempio di codice: Scrittura dei dati utente

const fs = require("fs").promises;

const newUser = {
  id: 1,
  username: "Nero",
  email: "arman@example.com",
};

const fileName = "user-db.json";

fs.writeFile(fileName, JSON.stringify(newUser), "utf-8")
  .then(() => {
    console.log("User information saved successfully.");
  })
  .catch((err) => {
    console.error("Error writing file:", err);
  });

Spiegazione passo dopo passo

Estensione con fs.appendFile

Il metodo fs.appendFile restituisce una promise che si risolve quando i dati sono stati aggiunti al file. Viene utilizzato per aggiungere dati in modo asincrono a un file esistente, preservando il contenuto precedente.

fs.appendFile(file, data, options)
  • file - il percorso del file a cui verranno aggiunti i dati;
  • data - i dati da aggiungere, che possono essere una stringa o un buffer;
  • options - un oggetto opzionale che specifica opzioni come la codifica e la modalità del file.

Immagina una vivace applicazione di chat che registra le conversazioni. Man mano che arrivano nuovi messaggi, il metodo fs.appendFile aggiunge i nuovi messaggi al registro della chat mantenendo le interazioni precedenti.

Esempio di codice: Aggiunta di messaggi alla chat

const fs = require("fs").promises;

const newMessage = "User2: Hello, how are you?";

fs.appendFile("chat.txt", newMessage + "\n")
  .then(() => {
    console.log("Message added to chat log.");
  })
  .catch((err) => {
    console.error("Error appending message:", err);
  });

Spiegazione passo per passo

Note
Nota
  • fs.writeFile viene utilizzato per sostituire completamente il contenuto di un file o creare un nuovo file;
  • fs.appendFile viene utilizzato per aggiungere nuovi dati alla fine di un file esistente senza sovrascrivere ciò che è già presente.
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3
some-alt