Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Operaciones del Sistema de Archivos | Creación de Aplicaciones de Consola con Node.js
Desarrollo Backend con Node.js y Express.js

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 a tasks.txt.

Sigue estos pasos para completar el desafío:

  1. Prepara tu espacio de trabajo
  • Crea una nueva carpeta en tu equipo;
  • Ábrela en tu editor de código preferido.
  1. Crea tasks.txt
  • Crea un archivo llamado tasks.txt;

  • Añade las siguientes tareas, o descarga el archivo preparado:

    tasks.txt

Contenido:

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

    • Crea un archivo llamado new-task.txt;
  • Añade la siguiente tarea, o descarga el archivo preparado:

    new-task.txt

Contenido:

  • Invent a new dance move and perform it in public.
  1. Crea app.js
  • Importa el módulo fs para trabajar con archivos;
    • Utiliza readFile() para leer el contenido de new-task.txt;
  • Gestiona las operaciones exitosas y fallidas usando .then() y .catch();
  • Dentro del bloque .then(), utiliza appendFile() para añadir el contenido a tasks.txt;
  • Añade un carácter de salto de línea (\n) después de la tarea insertada.
  1. 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.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
Pista
expand arrow
  1. Importar el módulo fs para trabajar con archivos.
  2. Usar fs.readFile("new-task.txt", "utf-8") para leer el contenido del archivo new-task.txt.
  3. Encadenar un .then() para manejar la lectura exitosa del contenido del archivo.
  4. En el bloque .then(), proporcionar una función de devolución de llamada que reciba el contenido como argumento.
  5. Dentro del bloque .then() de la promesa readFile, retornar el resultado de usar fs.appendFile para agregar contenido al archivo tasks.txt.
  6. Recordar incluir un carácter de nueva línea \n para separar el contenido añadido.
  7. Después del bloque .then() de la operación appendFile, encadenar un bloque .catch() para manejar cualquier error que pueda ocurrir en toda la cadena.
  8. En el bloque .catch(), proporcionar una función de devolución de llamada que reciba un parámetro de error.
  9. Dentro del bloque .catch(), registrar un mensaje de error junto con el error recibido.
  10. Ejecutar el script usando Node.js escribiendo node app.
Solución
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);
  });
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 4
some-alt