Método Node.js fs.readdirSync()

El método fs.readdirSync() se usa para leer sincrónicamente el contenido de un directorio determinado. El método devuelve una array con todos los nombres de archivos u objetos en el directorio. El argumento de opciones se puede usar para cambiar el formato en el que se devuelven los archivos desde el método.

Sintaxis:

fs.readdirSync( path, options )

Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación:

  • ruta: Contiene la ruta del directorio desde donde se debe leer el contenido. Puede ser una string, un búfer o una URL.
  • options: Es un objeto que se puede utilizar para especificar parámetros opcionales que afectarán al método. Tiene dos parámetros opcionales:
    • codificación: es un valor de string que especifica qué codificación se usaría para los nombres de archivo dados al argumento de devolución de llamada. El valor predeterminado es ‘utf8’.
    • withFileTypes: es un valor booleano que especifica si los archivos se devolverán como objetos fs.Dirent. El valor predeterminado es ‘falso’.

Devoluciones: Devuelve una array de objetos String, Buffer o fs.Dirent que contienen los archivos en el directorio.

Los siguientes ejemplos ilustran el método fs.readdirSync() en Node.js:

Ejemplo 1: este ejemplo utiliza el método fs.readdirSync() para devolver los nombres de archivo o los objetos de archivo en el directorio.

// Node.js program to demonstrate the
// fs.readdirSync() method
  
// Import the filesystem module
const fs = require('fs');
  
// Function to get current filenames
// in directory
filenames = fs.readdirSync(__dirname);
  
console.log("\nCurrent directory filenames:");
filenames.forEach(file => {
  console.log(file);
});
  
// Function to get current filenames
// in directory with "withFileTypes"
// set to "true" 
  
fileObjs = fs.readdirSync(__dirname, { withFileTypes: true });
  
console.log("\nCurrent directory files:");
fileObjs.forEach(file => {
  console.log(file);
});

Producción:

Current directory filenames:
CONTRUBUTIONS.txt
index.html
index.js
package.json
README.md

Current directory files:
Dirent { name: 'CONTRUBUTIONS.txt', [Symbol(type)]: 1 }
Dirent { name: 'index.html', [Symbol(type)]: 1 }
Dirent { name: 'index.js', [Symbol(type)]: 1 }
Dirent { name: 'package.json', [Symbol(type)]: 1 }
Dirent { name: 'README.md', [Symbol(type)]: 1 }

Ejemplo 2: este ejemplo utiliza el método fs.readdirSync() para devolver solo los nombres de archivo con la extensión «.md».

// Node.js program to demonstrate the
// fs.readdirSync() method
  
// Import the filesystem module
const fs = require('fs');
const path = require('path');
  
// Function to get current filenames
// in directory with specific extension
files = fs.readdirSync(__dirname);
  
console.log("\Filenames with the .md extension:");
files.forEach(file => {
  if (path.extname(file) == ".md")
    console.log(file);
})

Producción:

Filenames with the .md extension:
README.md

Referencia: https://nodejs.org/api/fs.html#fs_fs_readdirsync_path_options

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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