Module de système de fichiers Node.js


Node.js en tant que serveur de fichiers

Le module de système de fichiers Node.js vous permet de travailler avec le système de fichiers de votre ordinateur.

Pour inclure le module File System, utilisez la require()méthode :

var fs = require('fs');

Utilisation courante du module File System :

  • Lire des fichiers
  • Créer des fichiers
  • Mettre à jour les fichiers
  • Supprimer les fichiers
  • Renommer les fichiers

Lire les fichiers

La fs.readFile()méthode est utilisée pour lire des fichiers sur votre ordinateur.

Supposons que nous ayons le fichier HTML suivant (situé dans le même dossier que Node.js) :

demofile1.html

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

Créez un fichier Node.js qui lit le fichier HTML et renvoyez le contenu :

Exemple

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);

Enregistrez le code ci-dessus dans un fichier appelé "demo_readfile.js", et lancez le fichier :

Lancez demo_readfile.js :

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

Si vous avez suivi les mêmes étapes sur votre ordinateur, vous verrez le même résultat que l'exemple : http://localhost:8080



Créer des fichiers

Le module File System propose des méthodes pour créer de nouveaux fichiers :

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

La fs.appendFile()méthode ajoute le contenu spécifié à un fichier. Si le fichier n'existe pas, le fichier sera créé :

Exemple

Créez un nouveau fichier en utilisant la méthode appendFile() :

var fs = require('fs');

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

La fs.open()méthode prend un "drapeau" comme deuxième argument, si le drapeau est "w" pour "écriture", le fichier spécifié est ouvert en écriture. Si le fichier n'existe pas, un fichier vide est créé :

Exemple

Créez un nouveau fichier vide en utilisant la méthode open() :

var fs = require('fs');

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

La fs.writeFile()méthode remplace le fichier spécifié et son contenu s'il existe. Si le fichier n'existe pas, un nouveau fichier, contenant le contenu spécifié, sera créé :

Exemple

Créez un nouveau fichier en utilisant la méthode writeFile() :

var fs = require('fs');

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

Mettre à jour les fichiers

Le module File System dispose de méthodes pour mettre à jour les fichiers :

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

La fs.appendFile()méthode ajoute le contenu spécifié à la fin du fichier spécifié :

Exemple

Ajouter "Ceci est mon texte." à la fin du fichier "monnouveaufichier1.txt":

var fs = require('fs');

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

La fs.writeFile()méthode remplace le fichier et le contenu spécifiés :

Exemple

Remplacez le contenu du fichier "monnouveaufichier3.txt":

var fs = require('fs');

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

Supprimer les fichiers

Pour supprimer un fichier avec le module File System, utilisez la fs.unlink() méthode.

La fs.unlink()méthode supprime le fichier spécifié :

Exemple

Supprimez "monnouveaufichier2.txt":

var fs = require('fs');

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

Renommer les fichiers

Pour renommer un fichier avec le module File System, utilisez la fs.rename() méthode.

La fs.rename()méthode renomme le fichier spécifié :

Exemple

Renommez "mynewfile1.txt" en "myrenamedfile.txt":

var fs = require('fs');

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

Télécharger des fichiers

Vous pouvez également utiliser Node.js pour télécharger des fichiers sur votre ordinateur.

Découvrez comment dans notre chapitre Télécharger des fichiers Node.js.