function stat
Usage in Deno
import { stat } from "node:fs";
stat(): void
Asynchronous stat(2)
. The callback gets two arguments (err, stats)
wherestats
is an fs.Stats
object.
In case of an error, the err.code
will be one of Common System Errors
.
stat follows symbolic links. Use lstat to look at the links themselves.
Using fs.stat()
to check for the existence of a file before callingfs.open()
, fs.readFile()
, or fs.writeFile()
is not recommended.
Instead, user code should open/read/write the file directly and handle the
error raised if the file is not available.
To check if a file exists without manipulating it afterwards, access is recommended.
For example, given the following directory structure:
- txtDir -- file.txt - app.js
The next program will check for the stats of the given paths:
import { stat } from 'node:fs'; const pathsToCheck = ['./txtDir', './txtDir/file.txt']; for (let i = 0; i < pathsToCheck.length; i++) { stat(pathsToCheck[i], (err, stats) => { console.log(stats.isDirectory()); console.log(stats); }); }
The resulting output will resemble:
true Stats { dev: 16777220, mode: 16877, nlink: 3, uid: 501, gid: 20, rdev: 0, blksize: 4096, ino: 14214262, size: 96, blocks: 0, atimeMs: 1561174653071.963, mtimeMs: 1561174614583.3518, ctimeMs: 1561174626623.5366, birthtimeMs: 1561174126937.2893, atime: 2019-06-22T03:37:33.072Z, mtime: 2019-06-22T03:36:54.583Z, ctime: 2019-06-22T03:37:06.624Z, birthtime: 2019-06-22T03:28:46.937Z } false Stats { dev: 16777220, mode: 33188, nlink: 1, uid: 501, gid: 20, rdev: 0, blksize: 4096, ino: 14214074, size: 8, blocks: 8, atimeMs: 1561174616618.8555, mtimeMs: 1561174614584, ctimeMs: 1561174614583.8145, birthtimeMs: 1561174007710.7478, atime: 2019-06-22T03:36:56.619Z, mtime: 2019-06-22T03:36:54.584Z, ctime: 2019-06-22T03:36:54.584Z, birthtime: 2019-06-22T03:26:47.711Z }
void
stat(path: PathLike,options: (StatOptions & { bigint?: false | undefined; }) | undefined,callback: (err: ErrnoException | null,stats: Stats,) => void,): void
path: PathLike
options: (StatOptions & { bigint?: false | undefined; }) | undefined
callback: (err: ErrnoException | null,stats: Stats,) => void
void
stat(path: PathLike,options: StatOptions & { bigint: true; },callback: (err: ErrnoException | null,stats: BigIntStats,) => void,): void
path: PathLike
options: StatOptions & { bigint: true; }
callback: (err: ErrnoException | null,stats: BigIntStats,) => void
void
stat(path: PathLike,options: StatOptions | undefined,callback: (err: ErrnoException | null,stats: Stats | BigIntStats,) => void,): void
path: PathLike
options: StatOptions | undefined
callback: (err: ErrnoException | null,stats: Stats | BigIntStats,) => void
void