Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Uso de Archivos como Almacenamiento Simple | Sección
Fundamentos de Node.js

bookUso de Archivos como Almacenamiento Simple

Desliza para mostrar el menú

Hasta ahora, has aprendido a:

  • Leer datos de un archivo;
  • Escribir datos en un archivo;
  • Añadir nuevo contenido.

Ahora es momento de utilizar archivos como un sistema de almacenamiento simple.

Por Qué Necesitamos Datos Estructurados

Almacenar texto plano no es suficiente para aplicaciones reales.

Por ejemplo:

First note
Second note

Esto es difícil de gestionar porque:

  • No se puede actualizar fácilmente una nota específica;
  • No se puede organizar la información;
  • No se puede añadir información adicional.

Uso de JSON para Almacenamiento

Para almacenar datos estructurados, utilizamos JSON.

JSON se parece a un objeto de JavaScript:

[
  { "text": "First note" },
  { "text": "Second note" }
]

Este formato nos permite:

  • Almacenar múltiples elementos;
  • Organizar los datos de forma clara;
  • Trabajar con ellos en el código.

Paso 1: Leer Datos de un Archivo

const fs = require('fs');

const data = fs.readFileSync('notes.json', 'utf-8');

Esto devuelve una cadena de texto.

Paso 2: Convertir JSON a JavaScript

const notes = JSON.parse(data);

Ahora notes es un arreglo real con el que se puede trabajar.

Paso 3: Actualizar los Datos

notes.push({ text: 'New note' });

Se añade una nueva nota al arreglo.

Paso 4: Guardar los Datos de Nuevo en el Archivo

fs.writeFileSync('notes.json', JSON.stringify(notes));
  • JSON.stringify convierte JavaScript de nuevo a JSON;
  • el archivo se actualiza con los nuevos datos.

Ejemplo Completo

const fs = require('fs');

// Read file
const data = fs.readFileSync('notes.json', 'utf-8');

// Convert to JS
const notes = JSON.parse(data);

// Update data
notes.push({ text: 'Learn Node.js' });

// Save back
fs.writeFileSync('notes.json', JSON.stringify(notes));

Manejo de la Primera Ejecución (Archivo Vacío)

Si el archivo no existe o está vacío, la aplicación fallará.

Esto se puede solucionar iniciando con un arreglo vacío:

let notes = [];

try {
  const data = fs.readFileSync('notes.json', 'utf-8');
  notes = JSON.parse(data);
} catch (error) {
  notes = [];
}
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 24

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 1. Capítulo 24
some-alt