Desafío: Operaciones del Sistema de Archivos
Desliza para mostrar el menú
Objetivo
Dominio de la automatización en la gestión de tareas. El objetivo es desarrollar una aplicación que recopile tareas de una fuente, extraiga su contenido e integre dichas tareas en otro archivo. La solución también debe gestionar posibles errores durante el proceso.
Tarea
Imagina que tienes dos archivos:
tasks.txt, que contiene una lista de tareas existentes;new-task.txt, que contiene una sola tarea que debe añadirse atasks.txt.
Sigue estos pasos para completar el desafío:
- Prepara tu espacio de trabajo
- Crea una nueva carpeta en tu equipo;
- Ábrela en tu editor de código preferido.
- Crea
tasks.txt
-
Crea un archivo llamado
tasks.txt; -
Añade las siguientes tareas, o descarga el archivo preparado:
Contenido:
Teach a goldfish to play chess;Build a sandcastle in your living room;Create a song 🎶 using only sounds from nature.
-
Crea
new-task.txt- Crea un archivo llamado
new-task.txt;
- Crea un archivo llamado
-
Añade la siguiente tarea, o descarga el archivo preparado:
Contenido:
Invent a new dance move and perform it in public.
- Crea
app.js
- Importa el módulo
fspara trabajar con archivos;- Utiliza
readFile()para leer el contenido denew-task.txt;
- Utiliza
- Gestiona las operaciones exitosas y fallidas usando
.then()y.catch(); - Dentro del bloque
.then(), utilizaappendFile()para añadir el contenido atasks.txt; - Añade un carácter de salto de línea (
\n) después de la tarea insertada.
- Ejecuta la aplicación
- Guarda
app.js; - Abre la terminal y ejecuta:
node app
Si prefieres usar el editor de código a continuación, ten en cuenta que no reconoce tus archivos y no mostrará tu progreso.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importar el módulo
fspara trabajar con archivos. - Usar
fs.readFile("new-task.txt", "utf-8")para leer el contenido del archivonew-task.txt. - Encadenar un
.then()para manejar la lectura exitosa del contenido del archivo. - En el bloque
.then(), proporcionar una función de devolución de llamada que reciba el contenido como argumento. - Dentro del bloque
.then()de la promesareadFile, retornar el resultado de usarfs.appendFilepara agregar contenido al archivotasks.txt. - Recordar incluir un carácter de nueva línea
\npara separar el contenido añadido. - Después del bloque
.then()de la operaciónappendFile, encadenar un bloque.catch()para manejar cualquier error que pueda ocurrir en toda la cadena. - En el bloque
.catch(), proporcionar una función de devolución de llamada que reciba un parámetro de error. - Dentro del bloque
.catch(), registrar un mensaje de error junto con el error recibido. - Ejecutar el script usando Node.js escribiendo
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);
});
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla