Sometimes there is a need to check whether the given path is file or directory so that different operations can be performed based on the result. For instance, to log the information of the directory and file separately.
In Node.js, file handling is handled by fs module. You can read more about it here. We can check the path for file or directory in Node.js in both Synchronous and Asynchronous way.
Note: Asynchronous version is usually preferable if you care about application performance.
Synchronous method: Synchronous operations are great for performing one-time file/directory operations before returning a module. To check the path in synchronous mode in fs module, we can use statSync() method. The fs.statSync(path) method returns the instance of fs.Stats which is assigned to variable stats. A fs.Stats object provides information about a file. The stats.isFile() method returns true if the file path is File, otherwise returns false. The stats.isDirectory() method returns true if file path is Directory, otherwise returns false.
is file ? true is directory ? true
is file ? false is directory ? false
Asynchronous method: In the Asynchronous version, the code block within the function will be mostly non-blocking to the end-user and user will not be prevented to perform different actions for various sub-processes. To check the path in asynchronous mode in the fs module we can use fs.stat() method. The fs.stat() method takes two parameters, first parameter is the path and the second is the callback function with two parameters, one is for error in case error occurred and the second parameter is the data retrieved by calling fs.stat() method which is stored in stats variable. The stats.isFile() method returns true if the file path is File, otherwise returns false. The stats.isDirectory() method returns true if file path is Directory, otherwise returns false.
is directory? true
is file ? true
- How to copy a file from one directory to another using PHP ?
- Perl | Accessing a Directory using File Globbing
- How to get file input by selected file name without path using jQuery ?
- Copy the entire contents of a directory to another directory in PHP
- How to get file name from a path in PHP?
- Nodejs | Automatic restart NodeJs server with nodemon
- How to Zip a directory in PHP?
- PHP | dir() (Get instance of the Directory)
- How to reset selected file with input tag file type in Angular 9?
- How to include() all PHP files from a directory ?
- Laravel | Directory Structure
- How to count files in a directory using PHP?
- How to see the changes in whole directory/folder containing many sass files ?
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.