Node.js fs.statSync() Method
Last Updated :
08 Jan, 2025
The fs.statSync() method is used to synchronously return information about the given file path. The fs.Stat object returned has several fields and methods to get more details about the file.
Syntax:
fs.statSync( path, options )
Parameters: This method accept two parameters as mentioned above and described below:
- path: It holds the path of the file that has to be checked. It can be a String, Buffer or URL.
- options: It is an object that can be used to specify optional parameters that will affect the output. It has one optional parameter:
- bigint: It is a boolean value which specifies if the numeric values returned in the fs.Stats object are bigint. The default value is false.
Returns: It returns a Stats object which contains the details of the file path.
Features
- The method is blocking, meaning it stops the execution of subsequent code until the file stats are retrieved. This can be useful when you need to ensure the file stats are retrieved before proceeding.
- Returns an fs.Stats object containing various properties that describe the file or directory.
- Works across different operating systems, including Windows, macOS, and Linux.
Below examples illustrate the fs.statSync() method in Node.js:
Example 1: This example demonstrates how to use Node.js's fs.statSync() method to retrieve and display file and directory information synchronously.
JavaScript
// Node.js program to demonstrate the
// fs.statSync() method
// Import the filesystem module
const fs = require('fs');
// Getting information for a file
statsObj = fs.statSync("test_file.txt");
console.log(statsObj);
console.log("Path is file:", statsObj.isFile());
console.log("Path is directory:", statsObj.isDirectory());
// Getting information for a directory
statsObj = fs.statSync("test_directory");
console.log(statsObj);
console.log("Path is file:", statsObj.isFile());
console.log("Path is directory:", statsObj.isDirectory());
Output:
Stats {
dev: 3229478529,
mode: 33206,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: 4096,
ino: 1970324837039946,
size: 0,
blocks: 0,
atimeMs: 1582306776282,
mtimeMs: 1582482953967,
ctimeMs: 1582482953968.2532,
birthtimeMs: 1582306776282.142,
atime: 2020-02-21T17:39:36.282Z,
mtime: 2020-02-23T18:35:53.967Z,
ctime: 2020-02-23T18:35:53.968Z,
birthtime: 2020-02-21T17:39:36.282Z
}
Path is file: true
Path is directory: false
Stats {
dev: 3229478529,
mode: 16822,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: 4096,
ino: 562949953486669,
size: 0,
blocks: 0,
atimeMs: 1582482965037.8445,
mtimeMs: 1581074249467.7114,
ctimeMs: 1582482964979.8303,
birthtimeMs: 1582306776288.1958,
atime: 2020-02-23T18:36:05.038Z,
mtime: 2020-02-07T11:17:29.468Z,
ctime: 2020-02-23T18:36:04.980Z,
birthtime: 2020-02-21T17:39:36.288Z
}
Path is file: false
Path is directory: true
Example 2: This example demonstrates how to use the Node.js fs.statSync()
method to retrieve file statistics and the option to return values as big integers.
JavaScript
// Node.js program to demonstrate the
// fs.stat() method
// Import the filesystem module
const fs = require('fs');
statsObj = fs.statSync("test_file.txt");
console.log(statsObj);
// Using the bigint option to return
// the values in big integer format
statsObj = fs.statSync("test_file.txt", {bigint: true});
console.log(statsObj);
Output:
Stats {
dev: 3229478529,
mode: 33206,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: 4096,
ino: 1970324837039946,
size: 0,
blocks: 0,
atimeMs: 1582306776282,
mtimeMs: 1582482953967,
ctimeMs: 1582482953968.2532,
birthtimeMs: 1582306776282.142,
atime: 2020-02-21T17:39:36.282Z,
mtime: 2020-02-23T18:35:53.967Z,
ctime: 2020-02-23T18:35:53.968Z,
birthtime: 2020-02-21T17:39:36.282Z
}
BigIntStats {
dev: 3229478529n,
mode: 33206n,
nlink: 1n,
uid: 0n,
gid: 0n,
rdev: 0n,
blksize: 4096n,
ino: 1970324837039946n,
size: 0n,
blocks: 0n,
atimeMs: 1582306776282n,
mtimeMs: 1582482953967n,
ctimeMs: 1582482953968n,
birthtimeMs: 1582306776282n,
atimeNs: 1582306776282000000n,
mtimeNs: 1582482953967000000n,
ctimeNs: 1582482953968253100n,
birthtimeNs: 1582306776282142200n,
atime: 2020-02-21T17:39:36.282Z,
mtime: 2020-02-23T18:35:53.967Z,
ctime: 2020-02-23T18:35:53.968Z,
birthtime: 2020-02-21T17:39:36.282Z
}
Summary
The fs.statSync() method in Node.js provides detailed file and directory information synchronously. It's ideal for ensuring file stats are available before continuing but should be used cautiously in performance-sensitive situations.
Reference: https://nodejs.org/api/fs.html#fs_fs_statsync_path_options
Similar Reads
Node JS fs.readFile() Method
âIn Node.js, the fs.readFile() method is a fundamental tool for reading files asynchronously, allowing your application to remain responsive while accessing file data. This method is part of Node.js's File System (fs) module, which provides an API for interacting with the file system.Syntaxfs.readFi
3 min read
Node.js fs.exists() Method
The fs exists method in node is used to check if the input file or the directory exists or not. It is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around POSIX functions. Syntax:fs.exists( path, callb
2 min read
Node fs.existsSync() Method
In Node.js, the fs.existsSync() method checks if a file or folder exists at a given path. It's synchronous, meaning it pauses the program until it finds the result (either true if it exists, or false if it doesn't). Because it stops everything while it works, itâs best used for quick checks in small
3 min read
Node fs.mkdir() Method
The fs.mkdir() method in Node.js is used to create a directory asynchronously.Syntaxfs.mkdir(path, mode, callback)Parameters: This method accepts three parameters as mentioned above and described below: path: This parameter holds the path of the directory that has to be created.mode: This parameter
2 min read
Node.js fs.truncate() Method
The fs.truncate() method in node.js is used to change the size of the file i.e either increase or decrease the file size. This method changes the length of the file at the path by len bytes. If len represents a length shorter than the file's current length, the file is truncated to that length. If i
2 min read
Node.js fs.renameSync() Method
In Node.js, the fs.renameSync() method is part of the built-in File System (fs) module and is used to rename or move files and directories synchronously. This method is useful when you need to quickly change a file's name or move it to a different directory synchronously. It blocks the execution of
3 min read
Node.js fs.rmdir() Method
The fs.rmdir() method is used to delete a directory at the given path. It can also be used recursively to remove nested directories.Syntax: fs.rmdir( path, options, callback )Parameters: This method accepts three parameters as mentioned above and described below: path: It holds the path of the direc
3 min read
Node.js fs.stat() Method
The fs.stat() method is used to return information about the given file or directory. It returns an fs.Stat object which has several properties and methods to get details about the file or directory. Syntax:fs.stat( path, options, callback )Parameters: This method accept three parameters as mentione
3 min read
Node.js fs.mkdtempSync() Method
The fs.mkdtempSync() method is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around standard POSIX functions. The fs.mkdtempSync() method creates a unique temporary directory. This is the synchronous v
2 min read
Node.js fs.realpath() Method
The fs.realPath() method is used to compute the canonical pathname of the given path. It does so by resolving the ., .. and the symbolic links in the path. Syntax: fs.realpath( path, options, callback ) Parameters: This method accept three parameters as mentioned above and described below: path: It
3 min read