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

Défi : Opérations sur le Système de Fichiers

Glissez pour afficher le menu

Objectif

Maîtrise de l'automatisation de la gestion des tâches. Développement d'une application permettant de collecter des tâches à partir d'une source, d'extraire leur contenu et de les intégrer dans un autre fichier. Gestion des erreurs potentielles lors du processus.

Tâche

Supposons que vous disposiez de deux fichiers :

  • tasks.txt, qui contient une liste de tâches existantes ;
  • new-task.txt, qui contient une seule tâche à ajouter à tasks.txt.

Procédure à suivre pour relever le défi :

  1. Préparation de l'espace de travail
  • Création d'un nouveau dossier sur votre machine ;
  • Ouverture dans l'éditeur de code de votre choix.
  1. Création de tasks.txt
  • Création d'un fichier nommé tasks.txt ;

  • Ajout des tâches suivantes, ou téléchargement du fichier préparé :

    tasks.txt

Contenu :

  • Teach a goldfish to play chess ;
  • Build a sandcastle in your living room ;
  • Create a song 🎶 using only sounds from nature.
  1. Création de new-task.txt

    • Création d'un fichier nommé new-task.txt ;
  • Ajout de la tâche suivante, ou téléchargement du fichier préparé :

    new-task.txt

Contenu :

  • Invent a new dance move and perform it in public.
  1. Création de app.js
  • Importation du module fs pour la gestion des fichiers ;
    • Utilisation de readFile() pour lire le contenu de new-task.txt ;
  • Gestion des opérations réussies et échouées avec .then() et .catch() ;
  • Dans le bloc .then(), utilisation de appendFile() pour ajouter le contenu à tasks.txt ;
  • Ajout d'un caractère de saut de ligne (\n) après la tâche insérée.
  1. Exécution de l'application
  • Sauvegarde de app.js ;
  • Ouverture du terminal et exécution de :
node app

Si vous préférez utiliser l’éditeur de code ci-dessous, gardez à l’esprit qu’il ne reconnaît pas vos fichiers et n’affichera pas votre progression.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
Indice
expand arrow
  1. Importer le module fs pour travailler avec les fichiers.
  2. Utiliser fs.readFile("new-task.txt", "utf-8") pour lire le contenu du fichier new-task.txt.
  3. Chaîner un .then() pour gérer la lecture réussie du contenu du fichier.
  4. Dans le bloc .then(), fournir une fonction de rappel qui reçoit le contenu en argument.
  5. À l’intérieur du bloc .then() de la promesse readFile, retourner le résultat de l’utilisation de fs.appendFile pour ajouter le contenu au fichier tasks.txt.
  6. Ne pas oublier d’inclure un caractère de saut de ligne \n pour séparer le contenu ajouté.
  7. Après le bloc .then() de l’opération appendFile, chaîner un bloc .catch() pour gérer toute erreur pouvant survenir dans la chaîne complète.
  8. Dans le bloc .catch(), fournir une fonction de rappel qui reçoit un paramètre d’erreur.
  9. À l’intérieur du bloc .catch(), afficher un message d’erreur accompagné de l’erreur reçue.
  10. Exécuter le script avec Node.js en tapant node app.
Solution
expand arrow
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4

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

Section 2. Chapitre 4
some-alt