PHP vs Python para backend: qué elegir en la práctica en 2024

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: ¿Por qué aprender a trabajar con archivos en JavaScript?

\n\n

Cuando hablamos de JavaScript, la mayoría de las personas piensan inmediatamente en el navegador y las interfaces interactivas. Sin embargo, con la llegada de la plataforma Node.js, JavaScript ha ido mucho más allá de las páginas web. Hoy en día es un lenguaje completo para el desarrollo del lado del servidor, la automatización y las utilidades. Y una de las tareas clave que todo desarrollador enfrenta es trabajar con el sistema de archivos.

\n\n

La capacidad de leer, escribir, mover y eliminar archivos es una habilidad fundamental sin la cual no se puede imaginar ningún proyecto serio. Ya sea un registrador, un archivo de configuración, cargas de imágenes o análisis de datos — el acceso al sistema de archivos se necesita en todas partes.

\n\n

En este artículo, cubriremos ejemplos prácticos de trabajo con el sistema de archivos en Node.js. Aprenderás cómo usar el módulo incorporado fs, qué métodos están disponibles y cómo evitar errores comunes. Todo el código se puede ejecutar y probar de inmediato.

\n\n

Métodos básicos del módulo fs

\n\n

El módulo fs (File System) está incluido en la distribución estándar de Node.js. No necesita instalarse por separado. Para comenzar, simplemente impórtalo al inicio de tu archivo:

\n\n
const fs = require('fs');\nconst fsPromises = require('fs').promises; // para trabajar con promesas
\n\n

Todos los métodos del módulo fs existen en tres variantes:

\n\n
    \n
  • Síncronos — bloquean la ejecución del código hasta que la operación se complete. Generalmente tienen el sufijo Sync.
  • \n
  • Asíncronos con callbacks — el estilo clásico de Node.js.
  • \n
  • Asíncronos con promesas — un enfoque moderno que utiliza fs.promises.
  • \n
\n\n

En proyectos modernos, se recomienda usar promesas y async/await. Esto hace que el código sea más limpio y comprensible.

\n\n

Lectura de archivos

\n\n

El escenario más común es leer el contenido de un archivo. Veamos un ejemplo con un archivo de texto data.txt:

\n\n
const fs = require('fs').promises;\n\nasync function readFileExample() {\n    try {\n        const data = await fs.readFile('data.txt', 'utf8');\n        console.log('Contenido del archivo:');\n        console.log(data);\n    } catch (err) {\n        console.error('Error al leer el archivo:', err.message);\n    }\n}\n\nreadFileExample();
\n\n

El segundo parámetro 'utf8' especifica la codificación. Si lo omites, obtendrás un búfer sin procesar. Para archivos de texto, siempre especifica la codificación.

\n\n

Escritura en un archivo

\n\n

La escritura de datos en un archivo se puede realizar de dos maneras: sobrescritura completa o agregar al final.

\n\n

Sobrescribir un archivo:

\n
const fs = require('fs').promises;\n\nasync function writeFileExample() {\n    try {\n        await fs.writeFile('output.txt', '¡Hola, sistema de archivos!');\n        console.log('Archivo escrito exitosamente');\n    } catch (err) {\n        console.error('Error al escribir:', err.message);\n    }\n}\n\nwriteFileExample();
\n\n

Agregar al final de un archivo:

\n
const fs = require('fs').promises;\n\nasync function appendFileExample() {\n    try {\n        await fs.appendFile('log.txt', `Nueva entrada: ${new Date().toISOString()}\\n`);\n        console.log('Datos agregados');\n    } catch (err) {\n        console.error('Error al agregar:', err.message);\n    }\n}\n\nappendFileExample();
\n\n

El método appendFile es ideal para registro de eventos o acumulación de datos.

\n\n

Gestión de directorios y archivos

\n\n

Trabajar con el sistema de archivos no se limita a leer y escribir. A menudo es necesario crear carpetas, verificar si los archivos existen o eliminarlos.

\n\n

Creación y eliminación de directorios

\n\n
const fs = require('fs').promises;\n\nasync function manageDirectories() {\n    try {\n        // Crear un directorio (si no existe)\n        await fs.mk                

Blogs

Book Recommendations