Leer contenido de archivo con Node.JS, readline y fs

Leer el contenido de un archivo con Node.JS, fs y readline

En este artículo voy a exponer una cosa simple: leer un archivo txt con JavaScript del lado del servidor y el módulo fs. Leer el contenido de un archivo puede ser útil para la persistencia de datos; leer configuraciones o valores separados por comas.

Para leer un archivo con Node.js no se necesita instalar ningún paquete adicional, únicamente a fs que ya viene incluido por defecto.

Leer contenido de archivo con Node.JS, readline y fs
Leer contenido de archivo con Node.JS, readline y fs

Voy a mostrar 2 formas de leer un archivo, la primera es leerlo completamente (viene bien para archivos pequeños) y la segunda es leerlo línea por línea usando otro módulo llamado readline pero que igualmente viene incluido por defecto y que funciona mejor para archivos más grandes.

Requisitos

Únicamente necesitas tener instalado Node.JS.

Más tutoriales

Leer archivo con JavaScript del lado del servidor (Node.JS)

Para leer todo el contenido de un archivo en una cadena, utilizamos al método readFile de fs. Este método puede recibir 3 argumentos: la ruta del archivo, la codificación y el callback; esto último lo ponemos en una función flecha.

Veamos el ejemplo, el cual es muy sencillo:

Hola, soy un archivo de texto para demostrar algunos tutoriales de parzibyte.me. Puedo contener cualquier tipo de contenido, por ejemplo, saltos,
    tabulaciones
y cualquier

otra


cosa.
/**
 * Leer todo el contenido de un archivo
 * con Node.JS y fs
 * 
 * @author parzibyte
 */
const fs = require("fs"),
    NOMBRE_ARCHIVO = "archivo.txt";

fs.readFile(NOMBRE_ARCHIVO, 'utf8', (error, datos) => {
    if (error) throw error;
    console.log("El contenido es: ", datos);
});

La parte importante es el callback, pues ahí recibimos los datos o un error. en caso de que el error no esté indefinido, lo lanzamos con throw. Por ejemplo, si el archivo no existe, el error lo dirá.

En caso de que no haya error, imprimimos el contenido y ya. En este caso lo imprimimos, pero podríamos hacerle cualquier cosa dependiendo de nuestras necesidades.

Abrir archivo y leer línea por línea con Node.Js y JavaScript

Ahora veamos el otro enfoque para archivos más grandes, y es el de leer un archivo línea por línea. El código de ejemplo es un poco más, pero igualmente es sencillo. Lo pongo aquí y más abajo lo explico:

Hola, soy un archivo de texto para demostrar algunos tutoriales de parzibyte.me. Puedo contener cualquier tipo de contenido, por ejemplo, saltos,
    tabulaciones
y cualquier

otra


cosa.
/**
 * Leer un archivo con Node.JS línea
 * por línea usando fs y readline
 * 
 * @author parzibyte
 */
const readline = require("readline"),
    fs = require("fs"),
    NOMBRE_ARCHIVO = "archivo.txt";

let lector = readline.createInterface({
    input: fs.createReadStream(NOMBRE_ARCHIVO)
});

lector.on("line", linea => {
    console.log("Tenemos una línea:", linea);
});

Para leer las líneas del archivo ahora creamos un lector, que no es más que una interfaz de readline en donde la entrada es un stream que se crea con fs.

Cada que el lector encuentre una línea, se llamará al evento line, al cual agregamos una función de callback en donde se reciben los datos. Lo que hacemos es imprimir cada línea que esté presente en el archivo.

Probar ejemplos

Eres libre de copiar y descargar los ejemplos.

Descargarlos y ejecutarlos localmente

Descarga los archivos, así como el archivo de texto. Asegúrate de tener instalado Node.JS, luego ejecuta node leer_archivo.js desde la terminal y listo; lo mismo para el ejemplo 2.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *