Node.js fs.opendir() Method

08 Oct, 2021
The fs.opendir() method is used to asynchronously open a directory in the file system. It creates an fs.Dir object that is used to represent the directory. This object contains various methods that can be used to accessing the directory.
Syntax:
fs.opendir( path[, options], callback )
Parameters: This method accepts three parameters as mentioned above and described below:
path: It is a String, Buffer or URL that denotes the path of the directory that has to be opened.
options: It is an String or an object that can be used to specify optional parameters that will affect the output. It has two optional parameters:encoding: It is a string that specifies the encoding for the path when opening the directory and for subsequent read operations. The default value is ‘utf8’.bufferSize: It is a number that specifies the number of directory entries that are buffered internally when the directory is being read. A higher value means more performance but leads to higher memory usage. The default value is ’32’.
encoding: It is a string that specifies the encoding for the path when opening the directory and for subsequent read operations. The default value is ‘utf8’.
bufferSize: It is a number that specifies the number of directory entries that are buffered internally when the directory is being read. A higher value means more performance but leads to higher memory usage. The default value is ’32’.
callback: It is a function that would be called when the method is executed.err: It is an error that would be thrown if the method fails.dir: It is an fs.Dir object created by the method that represents the directory.
err: It is an error that would be thrown if the method fails.
dir: It is an fs.Dir object created by the method that represents the directory.
Below examples illustrate the fs.opendir() method in Node.js:
Example 1:
// Node.js program to demonstrate the// fs.opendir() method  // Import the filesystem moduleconst fs = require('fs');  // Open the directoryconsole.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();    }  });
Output:
Opening the directory
Path of the directory: example_dir
Closing the directory

Example 2:
// Node.js program to demonstrate the// fs.opendir() method  // Import the filesystem moduleconst fs = require('fs');  // Function to get current filenames// in directoryfilenames = fs.readdirSync("example_dir");  console.log("\nCurrent filenames in directory:");filenames.forEach((file) => {  console.log(file);});  // Open the directoryfs.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());  }});
Output:
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

Reference: https://nodejs.org/api/fs.html#fs_fs_opendir_path_options_callback
Node.js-fs-module
Node.js
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.