fs.fstat()方法用于返回有关给定文件描述符的信息。返回的fs.Stat对象具有多个字段和方法,以获取有关文件的更多详细信息。
用法:
fs.fstat( fd, options, callback )
参数:此方法接受上述和以下所述的三个参数:
- fd:它是一个整数,代表该方法使用的文件描述符。
- options:该对象可用于指定将影响输出的可选参数。它具有一个可选参数:
- bigint:它是一个布尔值,它指定fs.Stats对象中返回的数值是否为bigint。默认值为false。
- callback:执行该方法时将调用该函数。
- err:如果该方法会引发错误
- Stats:Stats对象包含文件路径的详细信息。
以下示例说明了Node.js中的fs.fstat()方法:
范例1:本示例使用fs.fstat()方法获取文件和目录的详细信息。
// Node.js program to demonstrate the
// fs.fstat() method
// Import the filesystem module
const fs = require('fs');
// Define the file descriptor for a file
let file_fd = fs.openSync('example_file.txt', 'r');
// Getting information for a file
fs.fstat(file_fd, (error, stats) => {
if (error) {
console.log(error);
}
else {
console.log("Stats object for:example_file.txt");
console.log(stats);
// Using methods of the Stats object
console.log("Path is file:", stats.isFile());
console.log("Path is directory:", stats.isDirectory());
}
});
// Define the file descriptor for a folder
let dir_fd = fs.openSync('example_directory', 'r');
// Getting information for a directory
fs.fstat(dir_fd, (error, stats) => {
if (error) {
console.log(error);
}
else {
console.log("Stats object for:example_directory.txt");
console.log(stats);
// Using methods of the Stats object
console.log("Path is file:", stats.isFile());
console.log("Path is directory:", stats.isDirectory());
}
});输出:
Stats object for:example_file.txt
Stats {
dev:3229478529,
mode:33206,
nlink:1,
uid:0,
gid:0,
rdev:0,
blksize:4096,
ino:281474976780635,
size:0,
blocks:0,
atimeMs:1584389463707.251,
mtimeMs:1582209885466.6848,
ctimeMs:1582209885466.6848,
birthtimeMs:1584389463707.251,
atime:2020-03-16T20:11:03.707Z,
mtime:2020-02-20T14:44:45.467Z,
ctime:2020-02-20T14:44:45.467Z,
birthtime:2020-03-16T20:11:03.707Z
}
Path is file:true
Path is directory:false
Stats object for:example_directory.txt
Stats {
dev:3229478529,
mode:16822,
nlink:1,
uid:0,
gid:0,
rdev:0,
blksize:4096,
ino:281474976780638,
size:0,
blocks:0,
atimeMs:1584429828080.8872,
mtimeMs:1581074249467.7114,
ctimeMs:1584389463715.2507,
birthtimeMs:1584389463715.2507,
atime:2020-03-17T07:23:48.081Z,
mtime:2020-02-07T11:17:29.468Z,
ctime:2020-03-16T20:11:03.715Z,
birthtime:2020-03-16T20:11:03.715Z
}
Path is file:false
Path is directory:true
范例2:本示例使用fs.fstat()方法获取带有bigint选项和不带有bigint选项的文件的详细信息。
// Node.js program to demonstrate the
// fs.fstat() method
// Import the filesystem module
const fs = require('fs');
// Define the file descriptor for a file
let file_fd = fs.openSync('example_file.txt', 'r');
fs.fstat(file_fd, (error, stats) => {
console.log(stats);
});
// Using the bigint option to return
// the values in big integer format
fs.fstat(file_fd, { bigint:true }, (error, stats) => {
console.log(stats);
});输出:
Stats {
dev:3229478529,
mode:33206,
nlink:1,
uid:0,
gid:0,
rdev:0,
blksize:4096,
ino:281474976780635,
size:0,
blocks:0,
atimeMs:1584389463707.251,
mtimeMs:1582209885466.6848,
ctimeMs:1582209885466.6848,
birthtimeMs:1584389463707.251,
atime:2020-03-16T20:11:03.707Z,
mtime:2020-02-20T14:44:45.467Z,
ctime:2020-02-20T14:44:45.467Z,
birthtime:2020-03-16T20:11:03.707Z
}
BigIntStats {
dev:3229478529n,
mode:33206n,
nlink:1n,
uid:0n,
gid:0n,
rdev:0n,
blksize:4096n,
ino:281474976780635n,
size:0n,
blocks:0n,
atimeMs:1584389463707n,
mtimeMs:1582209885466n,
ctimeMs:1582209885466n,
birthtimeMs:1584389463707n,
atimeNs:1584389463707251000n,
mtimeNs:1582209885466684900n,
ctimeNs:1582209885466684900n,
birthtimeNs:1584389463707251000n,
atime:2020-03-16T20:11:03.707Z,
mtime:2020-02-20T14:44:45.466Z,
ctime:2020-02-20T14:44:45.466Z,
birthtime:2020-03-16T20:11:03.707Z
}
参考: https://nodejs.org/api/fs.html#fs_fs_fstat_fd_options_callback
相关用法
- Node.js GM drawCircle()用法及代码示例
- Node.js GM minify()用法及代码示例
- Node.js GM channel()用法及代码示例
- Node.js GM drawEllipse()用法及代码示例
- Node.js GM magnify()用法及代码示例
- Node.js GM drawPolyline()用法及代码示例
- Node.js GM drawBezier()用法及代码示例
- Node.js GM drawLine()用法及代码示例
- Node.js GM operator()用法及代码示例
- Node.js GM chop()用法及代码示例
注:本文由纯净天空筛选整理自sayantanm19大神的英文原创作品 Node.js | fs.fstat() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
