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

bookTrabajando con el Sistema de Archivos en Node.js

El módulo FileSystem (fs) es un módulo central en Node.js, que proporciona potentes capacidades para interactuar con archivos de forma programática. Este módulo es útil en diversas tareas, incluyendo la gestión de configuraciones, la organización de datos y la lectura y escritura de contenido de archivos.

📖 Lectura de archivos con fs.readFile

El método fs.readFile devuelve una promesa que se resuelve con el contenido del archivo. Permite la lectura asíncrona de archivos, lo que lo hace adecuado para leer archivos de texto y binarios.

fs.readFile(path, options)
  • path - la ruta del archivo a leer;
  • options - un objeto opcional que especifica opciones como la codificación.

Imagina construir una plataforma de blogs dinámica. Aquí, el método fs.readFile entra en escena, recuperando rápidamente el contenido de las publicaciones del blog desde un archivo.

Ejemplo de código: Lectura de contenido

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

Explicación paso a paso

🖋️ Escritura de archivos con fs.writeFile

El método fs.writeFile devuelve una promesa que se resuelve cuando el archivo ha sido escrito. Se utiliza para escribir datos de manera asíncrona en un archivo, ya sea nuevo o existente. Ofrece opciones para especificar los datos, la codificación y los permisos del archivo.

fs.writeFile(file, data, options)
  • file - la ruta del archivo donde se escribirá;
  • data - los datos a escribir, que pueden ser una cadena o un buffer;
  • options - un objeto opcional que especifica opciones como la codificación y el modo del archivo.

Imagina que necesitamos guardar un nuevo usuario en el archivo user-db.json. Aquí, el método fs.writeFile asegura que nuestras palabras encuentren su lugar.

Ejemplo de código: Escritura de datos de usuario

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

Explicación paso a paso

📄 Ampliación con fs.appendFile

El método fs.appendFile devuelve una promesa que se resuelve cuando los datos han sido añadidos al archivo. Se utiliza para añadir datos de manera asíncrona a un archivo existente, preservando su contenido previo.

fs.appendFile(file, data, options)
  • file - la ruta del archivo al que se añadirán los datos;
  • data - los datos a añadir, que pueden ser una cadena o un buffer;
  • options - un objeto opcional que especifica opciones como la codificación y el modo del archivo.

Imagina una aplicación de chat activa que registra conversaciones. A medida que llegan nuevos mensajes, el método fs.appendFile agrega los mensajes al registro de chat mientras preserva las interacciones anteriores.

Ejemplo de código: Añadir mensajes de chat

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

Explicación paso a paso

Nota

  • fs.writeFile se utiliza para reemplazar completamente el contenido de un archivo o crear uno nuevo;
  • fs.appendFile se utiliza para agregar nuevos datos al final de un archivo existente sin sobrescribir lo que ya está allí.

🧐 Momento de Quiz

Evaluemos tu comprensión de los conceptos del módulo FileSystem (fs):

1. El módulo fs nos permite interactuar programáticamente con archivos.

2. ¿Qué método usaríamos para leer el contenido de un archivo?

3. ¿En qué se diferencia fs.appendFile de fs.writeFile?

question mark

El módulo fs nos permite interactuar programáticamente con archivos.

Select the correct answer

question mark

¿Qué método usaríamos para leer el contenido de un archivo?

Select the correct answer

question mark

¿En qué se diferencia fs.appendFile de fs.writeFile?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

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

Awesome!

Completion rate improved to 2.56

bookTrabajando con el Sistema de Archivos en Node.js

Desliza para mostrar el menú

El módulo FileSystem (fs) es un módulo central en Node.js, que proporciona potentes capacidades para interactuar con archivos de forma programática. Este módulo es útil en diversas tareas, incluyendo la gestión de configuraciones, la organización de datos y la lectura y escritura de contenido de archivos.

📖 Lectura de archivos con fs.readFile

El método fs.readFile devuelve una promesa que se resuelve con el contenido del archivo. Permite la lectura asíncrona de archivos, lo que lo hace adecuado para leer archivos de texto y binarios.

fs.readFile(path, options)
  • path - la ruta del archivo a leer;
  • options - un objeto opcional que especifica opciones como la codificación.

Imagina construir una plataforma de blogs dinámica. Aquí, el método fs.readFile entra en escena, recuperando rápidamente el contenido de las publicaciones del blog desde un archivo.

Ejemplo de código: Lectura de contenido

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

Explicación paso a paso

🖋️ Escritura de archivos con fs.writeFile

El método fs.writeFile devuelve una promesa que se resuelve cuando el archivo ha sido escrito. Se utiliza para escribir datos de manera asíncrona en un archivo, ya sea nuevo o existente. Ofrece opciones para especificar los datos, la codificación y los permisos del archivo.

fs.writeFile(file, data, options)
  • file - la ruta del archivo donde se escribirá;
  • data - los datos a escribir, que pueden ser una cadena o un buffer;
  • options - un objeto opcional que especifica opciones como la codificación y el modo del archivo.

Imagina que necesitamos guardar un nuevo usuario en el archivo user-db.json. Aquí, el método fs.writeFile asegura que nuestras palabras encuentren su lugar.

Ejemplo de código: Escritura de datos de usuario

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

Explicación paso a paso

📄 Ampliación con fs.appendFile

El método fs.appendFile devuelve una promesa que se resuelve cuando los datos han sido añadidos al archivo. Se utiliza para añadir datos de manera asíncrona a un archivo existente, preservando su contenido previo.

fs.appendFile(file, data, options)
  • file - la ruta del archivo al que se añadirán los datos;
  • data - los datos a añadir, que pueden ser una cadena o un buffer;
  • options - un objeto opcional que especifica opciones como la codificación y el modo del archivo.

Imagina una aplicación de chat activa que registra conversaciones. A medida que llegan nuevos mensajes, el método fs.appendFile agrega los mensajes al registro de chat mientras preserva las interacciones anteriores.

Ejemplo de código: Añadir mensajes de chat

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

Explicación paso a paso

Nota

  • fs.writeFile se utiliza para reemplazar completamente el contenido de un archivo o crear uno nuevo;
  • fs.appendFile se utiliza para agregar nuevos datos al final de un archivo existente sin sobrescribir lo que ya está allí.

🧐 Momento de Quiz

Evaluemos tu comprensión de los conceptos del módulo FileSystem (fs):

1. El módulo fs nos permite interactuar programáticamente con archivos.

2. ¿Qué método usaríamos para leer el contenido de un archivo?

3. ¿En qué se diferencia fs.appendFile de fs.writeFile?

question mark

El módulo fs nos permite interactuar programáticamente con archivos.

Select the correct answer

question mark

¿Qué método usaríamos para leer el contenido de un archivo?

Select the correct answer

question mark

¿En qué se diferencia fs.appendFile de fs.writeFile?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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