Modulo file system Node.js


Node.js come file server

Il modulo del file system Node.js ti consente di lavorare con il file system sul tuo computer.

Per includere il modulo File System, utilizzare il require()metodo:

var fs = require('fs');

Uso comune per il modulo File System:

  • Leggi i file
  • Crea file
  • Aggiorna file
  • Cancella file
  • Rinomina i file

Leggi file

Il fs.readFile()metodo viene utilizzato per leggere i file sul tuo computer.

Supponiamo di avere il seguente file HTML (che si trova nella stessa cartella di Node.js):

demofile1.html

<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>

Crea un file Node.js che legge il file HTML e restituisce il contenuto:

Esempio

var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('demofile1.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    return res.end();
  });
}).listen(8080);

Salva il codice sopra in un file chiamato "demo_readfile.js" e avvia il file:

Avvia demo_readfile.js:

C:\Users\Your Name>node demo_readfile.js

Se hai seguito gli stessi passaggi sul tuo computer, vedrai lo stesso risultato dell'esempio: http://localhost:8080



Crea file

Il modulo File System ha metodi per creare nuovi file:

  • fs.appendFile()
  • fs.open()
  • fs.writeFile()

Il fs.appendFile()metodo aggiunge il contenuto specificato a un file. Se il file non esiste, il file verrà creato:

Esempio

Crea un nuovo file usando il metodo appendFile():

var fs = require('fs');

fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

Il fs.open()metodo accetta un "flag" come secondo argomento, se il flag è "w" per "scrittura", il file specificato viene aperto per la scrittura. Se il file non esiste, viene creato un file vuoto:

Esempio

Crea un nuovo file vuoto usando il metodo open():

var fs = require('fs');

fs.open('mynewfile2.txt', 'w', function (err, file) {
  if (err) throw err;
  console.log('Saved!');
});

Il fs.writeFile()metodo sostituisce il file e il contenuto specificati, se esistenti. Se il file non esiste, verrà creato un nuovo file, contenente il contenuto specificato:

Esempio

Crea un nuovo file usando il metodo writeFile():

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

Aggiorna file

Il modulo File System ha metodi per aggiornare i file:

  • fs.appendFile()
  • fs.writeFile()

Il fs.appendFile()metodo aggiunge il contenuto specificato alla fine del file specificato:

Esempio

Aggiungi "Questo è il mio testo". alla fine del file "mynewfile1.txt":

var fs = require('fs');

fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
  if (err) throw err;
  console.log('Updated!');
});

Il fs.writeFile()metodo sostituisce il file e il contenuto specificati:

Esempio

Sostituisci il contenuto del file "mynewfile3.txt":

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
  if (err) throw err;
  console.log('Replaced!');
});

Cancella file

Per eliminare un file con il modulo File System, utilizzare il fs.unlink() metodo.

Il fs.unlink()metodo elimina il file specificato:

Esempio

Elimina "mynewfile2.txt":

var fs = require('fs');

fs.unlink('mynewfile2.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
});

Rinomina file

Per rinominare un file con il modulo File System, utilizzare il fs.rename() metodo.

Il fs.rename()metodo rinomina il file specificato:

Esempio

Rinomina "mynewfile1.txt" in "myrinomedfile.txt":

var fs = require('fs');

fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
  if (err) throw err;
  console.log('File Renamed!');
});

Caricare files

Puoi anche utilizzare Node.js per caricare file sul tuo computer.

Leggi come nel nostro capitolo Carica file di Node.js.