¿Qué método se usa para leer el contenido de un archivo en Node.js?

Utilizando el Método fs.readFile() en Node.js

El módulo de sistema de archivos fs es una cantidad crucial de la librería de Node.js, el cual proporciona funcionalidades para interactuar con el sistema de archivos de la máquina. Uno de los métodos más utilizados de este módulo es fs.readFile(), que se usa para leer el contenido de un archivo.

El método fs.readFile() es una función asíncrona que se utiliza para leer los datos de un archivo en formato no bloqueante. Recibe tres argumentos:

  1. path: La ruta del archivo que se desea leer.
  2. options: Este argumento es opcional y puede ser un objeto, una cadena de texto o una función de devolución de llamada (callback). Si se pasa como una cadena de texto se interpreta como la codificación del archivo.
  3. callback: Una función que se invoca cuando se termina de leer el archivo. Esta función recibe dos argumentos: err y data, donde err es un objeto que representa un error (si se produjo alguno) y data es el contenido del archivo.

A continuación, se muestra un ejemplo básico de cómo se utiliza fs.readFile():

const fs = require('fs');

fs.readFile('/ruta/hacia/el/archivo', 'utf8', (err, data) => {
  if (err) {
    console.error('Ocurrió un error', err);
    return;
  }  
  console.log(data);
});

En este ejemplo, estamos solicitando a Node.js que lea el archivo ubicado en /ruta/hacia/el/archivo. Aclarando que el archivo está codificado en utf8. Cuando termine de leer, queremos que llame a la función anónima que pasamos como tercer argumento. Esta función verifica si se produjo algún error durante la lectura del archivo, y si todo salió bien, imprime el contenido del archivo en la consola.

Es importante mencionar que al tratarse de una función asíncrona, la lectura del archivo no bloqueará el resto del programa, lo que permite que Node.js continúe ejecutando otras tareas en paralelo.

A pesar de que en algunos contextos podría parecer útil utilizar métodos como fs.readContent() o fs.getContent(), estas funciones no existen en el módulo fs de Node.js, por ende, la única manera de leer el contenido de un archivo es a través del método fs.readFile().

¿Te resulta útil?