¡Estamos en directo en Twitch!

¡Entra y participa!

Imagen de la etiqueta deno

Cómo leer el contenido de un directorio en Deno

· 2 minutos de lectura · ¿Una errata? Edita el artículo

A veces quieres leer el contenido de un directorio en Deno. Para ello, puedes usar la función Deno.readDir.

Esta función toma una ruta de directorio y devuelve una promesa que se resuelve con un iterador asíncrono de objetos Deno.DirEntry.

Como ves, a diferencia de Node, no necesitas importar ninguna biblioteca adicional para leer el contenido de un directorio en Deno. La función Deno.readDir está disponible desde el objeto global Deno y no necesitas importarla explícitamente.

const dir = await Deno.readDir("ruta/al/directorio");

Ahora puedes iterar sobre el iterador asíncrono de objetos Deno.DirEntry y obtener el nombre de cada archivo o subdirectorio.

for await (const entry of dir) {
  console.log(entry);
}

// { name: "archivo1.txt", isFile: true, isDirectory: false, isSymlink: false }
// { name: "archivo2.txt", isFile: true, isDirectory: false, isSymlink: false }
// { name: "subfolder", isFile: false, isDirectory: true, isSymlink: false }

Los campos disponibles son:

  • name: string El nombre del archivo. Es solo el nombre del recurso y no incluye la ruta completa.

  • isFile: boolean true si se trata de información de un archivo regular. Mutuamente exclusivo con DirEntry.isDirectory y DirEntry.isSymlink.

  • isDirectory: boolean true si se trata de información de un directorio regular. Mutuamente exclusivo con DirEntry.isFile y DirEntry.isSymlink.

  • isSymlink: boolean true si se trata de información de un enlace simbólico. Mutuamente exclusivo con DirEntry.isFile y DirEntry.isDirectory.

Nota: Deno.readDir 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.

En el caso que el path no sea un directorio, la función Deno.readDir lanza un error Deno.errors.NotFound.

Contenido del artículo

Comparte el artículo