Node.js fs.Dirent.isDirectory() Method

Last Updated : 5 Apr, 2023

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

Comment

Explore