Node.js fs.opendirSync() Method
Last Updated :
08 Oct, 2021
The fs.opendirSync() method is used to synchronously open a directory in the file system. It returns 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.opendirSync( path[, options] )
Parameters: This method accepts two 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 a 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’.
Return Value: It returns an fs.Dir object which represents the directory and contains various methods that can be used to access it.
Below examples illustrate the fs.opendirSync() method in Node.js:
Example 1:
const fs = require( 'fs' );
console.log( "Opening the directory" );
let openedDir = fs.opendirSync( "example_dir" );
console.log( "\nPath of the directory:" , openedDir.path);
console.log( "\nClosing the directory" );
openedDir.closeSync();
|
Output:
Opening the directory
Path of the directory: example_dir
Closing the directory
Example 2:
const fs = require( 'fs' );
filenames = fs.readdirSync( "example_dir" );
console.log( "\nCurrent filenames in directory:" );
filenames.forEach((file) => {
console.log(file);
});
openedDir = fs.opendirSync( "example_dir" );
console.log( "\nPath of the directory:" , openedDir.path);
console.log( "First Dirent:" , openedDir.readSync());
console.log( "Next Dirent:" , openedDir.readSync());
console.log( "Next Dirent:" , openedDir.readSync());
|
Output:
Current filenames in directory:
example1.txt
example2.txt
Path of the directory: example_dir
First Dirent: Dirent { name: 'example1.txt', [Symbol(type)]: 1 }
Next Dirent: Dirent { name: 'example2.txt', [Symbol(type)]: 1 }
Next Dirent: null
Reference: https://nodejs.org/api/fs.html#fs_fs_opendirsync_path_options
Share your thoughts in the comments
Please Login to comment...