隆Estamos en directo en Twitch!

隆Entra y participa!

Imagen de la etiqueta deno

C贸mo leer el contenido de un archivo en Deno

2 minutos de lectura驴Una errata? Edita el art铆culo

Leer el contenido de un archivo en Deno es una tarea muy simple gracias a la funci贸n Deno.readTextFile. Esta funci贸n toma una ruta de archivo y devuelve una promesa que se resuelve con el contenido del archivo como una cadena de texto.

Como ves, a diferencia de Node, no necesitas importar ninguna biblioteca adicional para leer el contenido de un archivo en Deno. La funci贸n Deno.readTextFile est谩 disponible desde el objeto global Deno y no necesitas importarla expl铆citamente.

Acepta una ruta de archivo como argumento y devuelve una promesa que se resuelve con el contenido del archivo como una cadena de texto:

const fileContent = await Deno.readTextFile("ruta/al/archivo.txt");

Nota: Deno.readTextFile necesita el permiso de allow-read para funcionar. Puedes agregarlo a tu archivo deno.json o usar el par谩metro --allow-read al ejecutar el script.

La variable fileContent ahora contendr谩 el contenido del archivo como una cadena de texto.

Es importante tener en cuenta que Deno.readTextFile solo puede leer archivos de texto. Si deseamos leer archivos de forma binaria, podemos utilizar la funci贸n Deno.readFile en su lugar. De hecho, readTextFile es solo una abstracci贸n de readFile que convierte el contenido del archivo en una cadena de texto.

const decoder = new TextDecoder("utf-8");
const data = await Deno.readFile("ruta/al/archivo.txt");
console.log(decoder.decode(data));

Gesti贸n de errores

Tanto readFile como readTextFile devuelven una promesa que se resuelve con el contenido del archivo. Si ocurre un error al leer el archivo, la promesa se rechazar谩 con un objeto Error que contiene informaci贸n sobre el error.

Si usas async/await puedes manejar el error de la siguiente manera:

try {
  const fileContent = await readTextFile("ruta/al/archivo.txt");
} catch (error) {
  console.error(error); // haz algo con el error
}

Leer archivos de forma s铆ncrona

Aunque es poco recomendable, debes saber que tambi茅n puedes leer archivos de forma s铆ncrona en Deno. Para ello, puedes usar la funci贸n Deno.readTextFileSync:

const fileContent = Deno.readTextFileSync("ruta/al/archivo.txt");

A diferencia de readTextFile, esta funci贸n no devuelve una promesa. En su lugar, devuelve el contenido del archivo como una cadena de texto. Pero, obviamente, bloquea el hilos de ejecuci贸n hasta que el archivo se haya le铆do por completo, lo cu谩l puede degradar el rendimiento de nuestro servicio.

Contenido del art铆culo

Comparte el art铆culo