2022-11-22 08:23 Temps de lecture : 7 min

Manipuler des fichiers en JavaScript

JavaScript, un langage de programmation largement répandu, offre la capacité de manipuler des fichiers directement dans votre navigateur web. Découvrons comment cela est possible !

L'environnement NodeJS est souvent utilisé pour exécuter des scripts qui nécessitent la gestion de fichiers. En essence, NodeJS est une plateforme permettant l'exécution de code JavaScript en dehors du navigateur. Il est donc supposé que vous ayez une connaissance de base de NodeJS.

Entamons ce guide pour approfondir votre compréhension de la gestion de fichiers avec JavaScript.

Manipulation de fichiers en JavaScript

La gestion de fichiers englobe diverses actions telles que la création, la consultation, la modification, le changement de nom et la suppression. Pour interagir avec les fichiers du système, nous devons recourir à des outils dédiés, car nous ne pouvons pas les gérer à partir de zéro. C'est pourquoi NodeJS met à disposition un module appelé 'fs' (système de fichiers) spécialement conçu pour cette tâche.

Explorons les différentes fonctionnalités offertes par le module 'fs'.

fs.open()

La fonction fs.open() exige deux arguments : le chemin et le mode.

Le chemin indique l'emplacement exact du fichier.

L'argument mode sert à spécifier comment le fichier sera ouvert (lecture, écriture, ajout, etc.).

Lorsque vous ouvrez un fichier avec un mode spécifique, seules les actions correspondantes à ce mode sont possibles. Voici une liste des modes et des opérations qu'ils autorisent :

ModeOpération
'r'Ouvre un fichier en mode lecture seule
'a'Ouvre un fichier en mode ajout, ajoutant du contenu à la fin
'w'Ouvre un fichier en mode écriture, écrasant le contenu existant
'a+'Ouvre un fichier en mode ajout et lecture, permettant les deux actions
'w+'Ouvre un fichier en mode écriture et lecture, permettant les deux actions
'r+'Ouvre un fichier en mode lecture et écriture, permettant les deux actions

Si le fichier spécifié n'existe pas, un nouveau fichier vide sera créé, sauf si le mode utilisé est la lecture seule. Voici un exemple de code pour ouvrir un fichier avec différents modes :

const fs = require("fs");

fs.open("exemple.txt", "w", (erreur, fichier) => {
   if (erreur) throw erreur;
   console.log(fichier);
});

La fonction fs.open() générera une erreur si le fichier n'est pas trouvé en mode lecture, mais créera un nouveau fichier vide en modes écriture ou ajout.

Diverses opérations peuvent être effectuées sur un fichier ouvert. Un exemple de script complet sera présenté à la fin de ce tutoriel, après avoir découvert d'autres fonctions importantes du module 'fs'.

fs.appendFile()

La fonction fs.appendFile() est utilisée pour ajouter du contenu à la fin d'un fichier. Si le fichier n'existe pas, il sera automatiquement créé. Voici comment ajouter du contenu à un fichier :

const fs = require("fs");

fs.appendFile("exemple.txt", "Contenu ajouté", (erreur) => {
   if (erreur) throw erreur;
   console.log("Terminé !");
});

fs.writeFile()

La fonction fs.writeFile() sert à écrire du contenu dans un fichier. Si le fichier n'existe pas, il sera créé. Voici un exemple pour écrire du contenu :

const fs = require("fs");

fs.writeFile("exemple.txt", "Contenu écrit", (erreur) => {
   if (erreur) throw erreur;
   console.log("Terminé !");
});

fs.readFile()

La fonction fs.readFile() permet de lire le contenu d'un fichier. Une erreur sera générée si le fichier est introuvable. Voici comment l'utiliser :

const fs = require("fs");

fs.readFile("exemple.txt", (erreur, donnees) => {
   if (erreur) throw erreur;
   console.log(donnees.toString());
});

La fonction fs.unlink() sert à supprimer un fichier. Une erreur se produira si le fichier n'existe pas. Voici le code correspondant :

const fs = require("fs");

fs.unlink("exemple.txt", (erreur) => {
   if (erreur) throw erreur;
   console.log("Fichier supprimé !");
});

fs.rename()

La fonction fs.rename() est utilisée pour renommer un fichier. Une erreur est levée si le fichier n'existe pas. Le code suivant permet de renommer un fichier, soyez astucieux !

const fs = require("fs");

fs.rename("exemple.txt", "nouvel_exemple.txt", (erreur) => {
   if (erreur) throw erreur;
   console.log("Fichier renommé !");
});

Informations complémentaires

Vous êtes désormais familiarisé avec les principales méthodes de gestion de fichiers du module 'fs'. Vous pouvez effectuer la plupart des opérations courantes sur les fichiers grâce aux fonctions présentées ici. Comme promis, voici un exemple concret d'un script qui ouvre un fichier et en lit le contenu en utilisant respectivement les fonctions fs.open() et fs.readFile() :

const fs = require("fs");

fs.open("exemple.txt", "r", (erreur, fichier) => {
   if (erreur) throw erreur;
   fs.readFile(fichier, (erreur, donnees) => {
      if (erreur) throw erreur;
      console.log(donnees.toString());
   });
});

Conclusion

Ce tutoriel touche à sa fin. Vous pouvez utiliser les méthodes de gestion de fichiers pour automatiser certaines tâches répétitives dans vos travaux quotidiens. J'espère que vous avez acquis une bonne compréhension des méthodes essentielles de gestion de fichiers.

Bon codage ! 🙂

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.