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 :
- 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.
- 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é :
Contenu :
Teach a goldfish to play chess;Build a sandcastle in your living room;Create a song 🎶 using only sounds from nature.
-
Création de
new-task.txt- Création d'un fichier nommé
new-task.txt;
- Création d'un fichier nommé
-
Ajout de la tâche suivante, ou téléchargement du fichier préparé :
Contenu :
Invent a new dance move and perform it in public.
- Création de
app.js
- Importation du module
fspour la gestion des fichiers ;- Utilisation de
readFile()pour lire le contenu denew-task.txt;
- Utilisation de
- Gestion des opérations réussies et échouées avec
.then()et.catch(); - Dans le bloc
.then(), utilisation deappendFile()pour ajouter le contenu àtasks.txt; - Ajout d'un caractère de saut de ligne (
\n) après la tâche insérée.
- 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.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importer le module
fspour travailler avec les fichiers. - Utiliser
fs.readFile("new-task.txt", "utf-8")pour lire le contenu du fichiernew-task.txt. - Chaîner un
.then()pour gérer la lecture réussie du contenu du fichier. - Dans le bloc
.then(), fournir une fonction de rappel qui reçoit le contenu en argument. - À l’intérieur du bloc
.then()de la promessereadFile, retourner le résultat de l’utilisation defs.appendFilepour ajouter le contenu au fichiertasks.txt. - Ne pas oublier d’inclure un caractère de saut de ligne
\npour séparer le contenu ajouté. - Après le bloc
.then()de l’opérationappendFile, chaîner un bloc.catch()pour gérer toute erreur pouvant survenir dans la chaîne complète. - Dans le bloc
.catch(), fournir une fonction de rappel qui reçoit un paramètre d’erreur. - À l’intérieur du bloc
.catch(), afficher un message d’erreur accompagné de l’erreur reçue. - Exécuter le script avec Node.js en tapant
node app.
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);
});
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion