Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Travail Avec le Système de Fichiers dans Node.js | Création d'Applications Console avec Node.js
Développement Backend avec Node.js et Express.js

bookTravail Avec le Système de Fichiers dans Node.js

Le module FileSystem (fs) est un module central de Node.js, offrant des fonctionnalités puissantes pour interagir avec les fichiers de manière programmatique. Ce module est utile pour diverses tâches, notamment la gestion des configurations, l'organisation des données et la lecture et l'écriture du contenu des fichiers.

📖 Lecture de fichiers avec fs.readFile

La méthode fs.readFile retourne une promesse qui se résout avec le contenu du fichier. Elle permet une lecture asynchrone des fichiers, ce qui la rend adaptée à la lecture de fichiers texte et binaires.

fs.readFile(path, options)
  • path - le chemin du fichier à lire ;
  • options - un objet optionnel spécifiant des options telles que l'encodage.

Imaginons la création d'une plateforme de blog dynamique. Ici, la méthode fs.readFile intervient pour récupérer rapidement le contenu d'un article à partir d'un fichier.

Exemple de code : Lecture du contenu

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

Explication étape par étape

🖋️ Écriture de fichiers avec fs.writeFile

La méthode fs.writeFile retourne une promesse qui se résout lorsque le fichier a été écrit. Elle permet d'écrire de manière asynchrone des données dans un fichier, qu'il soit nouveau ou existant. Elle offre des options pour spécifier les données, l'encodage et les permissions du fichier.

fs.writeFile(file, data, options)
  • file - chemin du fichier à écrire ;
  • data - données à écrire, pouvant être une chaîne de caractères ou un buffer ;
  • options - objet optionnel permettant de spécifier l'encodage et le mode du fichier.

Supposons que l'on doive enregistrer un nouvel utilisateur dans le fichier user-db.json. Ici, la méthode fs.writeFile garantit que nos informations sont bien enregistrées.

Exemple de code : Écriture de données utilisateur

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

Explication étape par étape

📄 Extension avec fs.appendFile

La méthode fs.appendFile retourne une promesse qui se résout lorsque les données ont été ajoutées au fichier. Elle permet d'ajouter de manière asynchrone des données à un fichier existant, tout en préservant son contenu antérieur.

fs.appendFile(file, data, options)
  • file - chemin du fichier auquel les données seront ajoutées ;
  • data - données à ajouter, pouvant être une chaîne de caractères ou un buffer ;
  • options - objet optionnel permettant de spécifier l'encodage et le mode du fichier.

Imaginez une application de messagerie animée enregistrant les conversations. Au fur et à mesure que de nouveaux messages arrivent, la méthode fs.appendFile ajoute ces messages au journal de discussion tout en conservant les échanges précédents.

Exemple de code : Ajout de messages à une discussion

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

Explication étape par étape

Remarque

  • fs.writeFile est utilisé pour remplacer complètement le contenu d’un fichier ou créer un nouveau fichier ;
  • fs.appendFile est utilisé pour ajouter de nouvelles données à la fin d’un fichier existant sans écraser ce qui s’y trouve déjà.

🧐 Quiz

Évaluation de la compréhension des concepts du module FileSystem (fs) :

1. Le module fs permet d'interagir de manière programmatique avec les fichiers.

2. Quelle méthode utiliserait-on pour lire le contenu d'un fichier ?

3. En quoi fs.appendFile diffère-t-il de fs.writeFile ?

question mark

Le module fs permet d'interagir de manière programmatique avec les fichiers.

Select the correct answer

question mark

Quelle méthode utiliserait-on pour lire le contenu d'un fichier ?

Select the correct answer

question mark

En quoi fs.appendFile diffère-t-il de fs.writeFile ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 2.56

bookTravail Avec le Système de Fichiers dans Node.js

Glissez pour afficher le menu

Le module FileSystem (fs) est un module central de Node.js, offrant des fonctionnalités puissantes pour interagir avec les fichiers de manière programmatique. Ce module est utile pour diverses tâches, notamment la gestion des configurations, l'organisation des données et la lecture et l'écriture du contenu des fichiers.

📖 Lecture de fichiers avec fs.readFile

La méthode fs.readFile retourne une promesse qui se résout avec le contenu du fichier. Elle permet une lecture asynchrone des fichiers, ce qui la rend adaptée à la lecture de fichiers texte et binaires.

fs.readFile(path, options)
  • path - le chemin du fichier à lire ;
  • options - un objet optionnel spécifiant des options telles que l'encodage.

Imaginons la création d'une plateforme de blog dynamique. Ici, la méthode fs.readFile intervient pour récupérer rapidement le contenu d'un article à partir d'un fichier.

Exemple de code : Lecture du contenu

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

Explication étape par étape

🖋️ Écriture de fichiers avec fs.writeFile

La méthode fs.writeFile retourne une promesse qui se résout lorsque le fichier a été écrit. Elle permet d'écrire de manière asynchrone des données dans un fichier, qu'il soit nouveau ou existant. Elle offre des options pour spécifier les données, l'encodage et les permissions du fichier.

fs.writeFile(file, data, options)
  • file - chemin du fichier à écrire ;
  • data - données à écrire, pouvant être une chaîne de caractères ou un buffer ;
  • options - objet optionnel permettant de spécifier l'encodage et le mode du fichier.

Supposons que l'on doive enregistrer un nouvel utilisateur dans le fichier user-db.json. Ici, la méthode fs.writeFile garantit que nos informations sont bien enregistrées.

Exemple de code : Écriture de données utilisateur

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

Explication étape par étape

📄 Extension avec fs.appendFile

La méthode fs.appendFile retourne une promesse qui se résout lorsque les données ont été ajoutées au fichier. Elle permet d'ajouter de manière asynchrone des données à un fichier existant, tout en préservant son contenu antérieur.

fs.appendFile(file, data, options)
  • file - chemin du fichier auquel les données seront ajoutées ;
  • data - données à ajouter, pouvant être une chaîne de caractères ou un buffer ;
  • options - objet optionnel permettant de spécifier l'encodage et le mode du fichier.

Imaginez une application de messagerie animée enregistrant les conversations. Au fur et à mesure que de nouveaux messages arrivent, la méthode fs.appendFile ajoute ces messages au journal de discussion tout en conservant les échanges précédents.

Exemple de code : Ajout de messages à une discussion

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

Explication étape par étape

Remarque

  • fs.writeFile est utilisé pour remplacer complètement le contenu d’un fichier ou créer un nouveau fichier ;
  • fs.appendFile est utilisé pour ajouter de nouvelles données à la fin d’un fichier existant sans écraser ce qui s’y trouve déjà.

🧐 Quiz

Évaluation de la compréhension des concepts du module FileSystem (fs) :

1. Le module fs permet d'interagir de manière programmatique avec les fichiers.

2. Quelle méthode utiliserait-on pour lire le contenu d'un fichier ?

3. En quoi fs.appendFile diffère-t-il de fs.writeFile ?

question mark

Le module fs permet d'interagir de manière programmatique avec les fichiers.

Select the correct answer

question mark

Quelle méthode utiliserait-on pour lire le contenu d'un fichier ?

Select the correct answer

question mark

En quoi fs.appendFile diffère-t-il de fs.writeFile ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
some-alt