Languages
[Edit]
EN

Node.js - get list of filenames in directory

0 points
Created by:
James-Z
367

In this article, we would like to show you how to get a list of the names of all files (one level deep) in a specified directory in Node.js.

Asynchronous version:

const fs = require('fs');

fs.readdir(pathToDirectory, { withFileTypes: true }, (error, files) => {
    const filesInDIrectory = files
        .filter((item) => item.isFile())
        .map((item) => item.name);

    console.log(filesInDIrectory);
});

Synchronous version:

const fs = require('fs');

const filesInDIrectory = fs.readdirSync(pathToDirectory, { withFileTypes: true })
    .filter((item) => item.isFile())
    .map((item) => item.name);

Practical example

Projects structure

Project/
  |
  +-- my_directory/
  |    |
  |    +-- file.json
  |
  +-- my_script.js

my_script.js

const fs = require('fs');

fs.readdir('./', (error, files) => {
    if (error) throw error;
    console.log(files);
});

fs.readdir('./', { withFileTypes: true }, (error, files) => {
    if (error) throw error;
    const filesInDIrectory = files
        .filter((item) => item.isFile())
        .map((item) => item.name);

    console.log(filesInDIrectory);
});

Output:

[
    'my_script.js'
]

Note: 

The result of the operation will be a list of files on the first depth level - files in folders located in the directory we search will not be displayed.
The path './' is the directory where the executing script is located (in this case, Project).

Node.js - file system module

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join