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