Node.js fs.Dirent.isDirectory() Method

The fs.Dirent.isDirectory() method is an inbuilt application programming interface of class fs.Dirent within File System module which is used to check if the particular dirent describes a Directory or not.

Syntax: 

const dirent.isDirectory()

Parameter: This method does not accept any parameter.

Return Value: This method returns true if the particular dirent describes the Directory otherwise false.

Example 1: The below program illustrates the use of fs.dirent.isDirectory() method in Node.js:

Filename: index.js 

Javascript




// Node.js program to demonstrate the
// dirent.isDirectory() method
const fs = require('fs');
 
// Initiating async function
async function stop(path) {
 
    // Creating and initiating directory's
    // underlying resource handle
    const dir = await fs.promises.opendir(path);
 
    // Synchronously reading the directory's
    // underlying resource handle using
    // readSync() method
    for (let i = 0; i <= 3; i++) {
 
        // Checking if the particular dirent
        // is Directory or not by using
        // isDirectory() method
        const value = (dir.readSync()).isDirectory();
 
        // Display the result
        console.log(dir.readSync());
        console.log(value);
    }
}
 
// Catching error
stop('./').catch(console.error);


Run the index.js file using the following command: 

node index.js

Output:  

Dirent { name: 'cert.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'certificate1.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'filename.txt', [Symbol(type)]: 1 }
true
Dirent { name: 'GFG.java', [Symbol(type)]: 1 }
false

Example 2: The below program illustrates the use of fs.dirent.isDirectory() method in Node.js:

Filename: index.js 

Javascript




// node.js program to demonstrate the
// dirent.isDirectory() method
const fs = require('fs');
 
// Initiating async function
async function stop(path) {
 
    let dir = null;
 
    try {
 
        // Creating and initiating directory's
        // underlying resource handle
        dir = await fs.promises.opendir(
            new URL('file:///F:/java/'));
 
        // Using readSync() method
        for (let i = 0; i <= 3; i++) {
 
            // Checking if the particular dirent
            // is Directory or not by using
            // isDirectory() method
            const value = (dir.readSync()).isDirectory();
 
            // Display the result
            console.log(dir.readSync());
            console.log(value);
        }
 
    } finally {
 
        if (dir) {
 
            // Display the result
            console.log("dir is closed successfully");
 
            // Synchronously closeSyncing the directory's
            // underlying resource handle
            const promise = dir.closeSync();
        }
    }
}
 
// Catching error
stop('./').catch(console.error);


Run the index.js file using the following command: 

node index.js

Output:  

Dirent { name: 'cert.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'certificate1.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'features', [Symbol(type)]: 2 }
false
Dirent { name: 'GFG.class', [Symbol(type)]: 1 }
false
dir is closed successfully

Reference: https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_dirent_isdirectory