📅  最后修改于: 2023-12-03 15:03:13.034000             🧑  作者: Mango
在Node.js中,文件系统API提供了fsPromises.stat()方法用于获取文件或目录的完整状态信息。返回的状态信息包含有关文件或目录的各种信息,例如文件大小、创建日期、修改日期、是否为目录等。
fsPromises.stat(path, [options])
path
: 必选参数,指定文件或目录的路径。options
: 可选参数,表示获取状态信息时要使用的选项。详见下面的fs.Stats
类。fs.Stat
对象。fs.Stat
对象包含文件或目录的完整状态信息,包括文件大小、创建日期、修改日期、是否为目录等。
下面的示例演示了使用fsPromises.stat()方法读取文件状态。
const fs = require('fs/promises');
const path = './test.txt';
fs.stat(path)
.then((stats) => {
console.log(`文件大小为 ${stats.size} bytes`);
console.log(`创建日期为 ${stats.birthtime}`);
console.log(`修改日期为 ${stats.mtime}`);
console.log(`是否为目录: ${stats.isDirectory()}`);
})
.catch((err) => console.log(err));
在上面的代码中,我们首先引入fs/promises
模块,以使用fsPromises.stat()
方法。然后,我们指定了文件的路径,并调用了fsPromises.stat()
方法。如果执行成功,则会返回一个fs.Stat
对象,其中包含有关文件的详细状态信息。在本例中,我们使用了size
、birthtime
、mtime
和isDirectory()
属性,这些属性分别表示文件大小、创建日期、修改日期和目录状态。
fs.Stat
对象还包含了其他可用于检查文件或目录状态的方法和属性。你可以在调用fsPromises.stat()
方法时使用options
参数来指定要使用的选项。下面的表格显示了一些可用选项和相应的fs.Stat
属性:
选项 | 属性 | 描述
---- | ---- | ----
fs.constants.FILE_TYPE_DIRECTORY
| isDirectory()
| 检查路径是否为目录。
fs.constants.FILE_TYPE_FILE
| isFile()
| 检查路径是否为文件。
fs.constants.FILE_TYPE_SYMLINK
| isSymbolicLink()
| 检查路径是否为符号链接。
bigint
| size
| 在options
对象中指定bigint
值,以返回文件的size
属性为bigint
。注意:在某些情况下,使用bigint
可能会导致性能问题。
使用fsPromises.stat()
方法可以方便地获取有关文件或目录的详细状态信息。你可以使用返回的fs.Stat
对象来检查文件的大小、创建日期、修改日期、是否为目录等。在调用fsPromises.stat()
方法时,你可以使用options
参数指定要返回的特定状态信息,并能够根据需要使用不同的fs.Stat
属性来检查文件或目录的状态。