Método Node.js fs.opendir()

El método fs.opendir() se utiliza para abrir de forma asíncrona un directorio en el sistema de archivos. Crea un objeto fs.Dir que se utiliza para representar el directorio. Este objeto contiene varios métodos que se pueden utilizar para acceder al directorio.

Sintaxis:

fs.opendir( path[, options], callback )

Parámetros: este método acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • ruta: Es un String, Buffer o URL que denota la ruta del directorio que se tiene que abrir.
  • opciones: es una string o un objeto que se puede usar para especificar parámetros opcionales que afectarán la salida. Tiene dos parámetros opcionales:
    • codificación: es una string que especifica la codificación de la ruta al abrir el directorio y para las operaciones de lectura posteriores. El valor predeterminado es ‘utf8’.
    • bufferSize: es un número que especifica la cantidad de entradas de directorio que se almacenan en el búfer internamente cuando se lee el directorio. Un valor más alto significa más rendimiento pero conduce a un mayor uso de la memoria. El valor predeterminado es ’32’.
  • devolución de llamada: Es una función que sería llamada cuando se ejecuta el método.
    • err: es un error que se lanzaría si el método falla.
    • dir: Es un objeto fs.Dir creado por el método que representa el directorio.

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

Ejemplo 1:

// Node.js program to demonstrate the
// fs.opendir() method
  
// Import the filesystem module
const fs = require('fs');
  
// Open the directory
console.log("Opening the directory");
fs.opendir(
    
  // Path of the directory
  "example_dir",
  
  // Options for modifying the operation
  { encoding: "utf8", bufferSize: 64 },
  
  // Callback with the error and returned
  // directory
  (err, dir) => {
    if (err) console.log("Error:", err);
    else {
      // Print the pathname of the directory
      console.log("Path of the directory:", dir.path);
  
      // Close the directory
      console.log("Closing the directory");
      dir.closeSync();
    }
  }
);

Producción:

Opening the directory
Path of the directory: example_dir
Closing the directory

Ejemplo 2:

// Node.js program to demonstrate the
// fs.opendir() method
  
// Import the filesystem module
const fs = require('fs');
  
// Function to get current filenames
// in directory
filenames = fs.readdirSync("example_dir");
  
console.log("\nCurrent filenames in directory:");
filenames.forEach((file) => {
  console.log(file);
});
  
// Open the directory
fs.opendir("example_dir", (err, dir) => {
  if (err) console.log("Error:", err);
  else {
    // Print the pathname of the directory
    console.log("\nPath of the directory:", dir.path);
  
    // Read the files in the directory
    // as fs.Dirent objects
    console.log("First Dirent:", dir.readSync());
    console.log("Next Dirent:", dir.readSync());
    console.log("Next Dirent:", dir.readSync());
  }
});

Producción:

Current filenames in directory:
file_a.txt
file_b.txt

Path of the directory: example_dir
First Dirent: Dirent { name: 'file_a.txt', [Symbol(type)]: 1 }
Next Dirent: Dirent { name: 'file_b.txt', [Symbol(type)]: 1 }
Next Dirent: null

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

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 *