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
Quizzes & Challenges
Quizzes
Challenges
/
Sviluppo Backend con Node.js ed Express.js

bookLavorare con il File System in Node.js

Il modulo FileSystem (fs) è un modulo core di Node.js, che offre potenti funzionalità per l'interazione programmata con i file. 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.

Immaginare la creazione di 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 per 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.

Si supponga di dover salvare un nuovo utente nel file user-db.json. Qui il metodo fs.writeFile garantisce che le nostre informazioni vengano memorizzate correttamente.

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 per 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.

Si immagini un'applicazione di chat che registra le conversazioni. Quando 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

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 con i file in modo programmatico.

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 con i file in modo programmatico.

Select the correct answer

question mark

Quale metodo useremmo per leggere il contenuto di un file?

Select the correct answer

question mark

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

Select the correct answer

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

bookLavorare 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 l'interazione programmata con i file. 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.

Immaginare la creazione di 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 per 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.

Si supponga di dover salvare un nuovo utente nel file user-db.json. Qui il metodo fs.writeFile garantisce che le nostre informazioni vengano memorizzate correttamente.

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 per 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.

Si immagini un'applicazione di chat che registra le conversazioni. Quando 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

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 con i file in modo programmatico.

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 con i file in modo programmatico.

Select the correct answer

question mark

Quale metodo useremmo per leggere il contenuto di un file?

Select the correct answer

question mark

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

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3
some-alt