📜  Node.js fsPromises.stat() 方法(1)

📅  最后修改于: 2023-12-03 15:03:13.034000             🧑  作者: Mango

Node.js fsPromises.stat() 方法

在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对象,其中包含有关文件的详细状态信息。在本例中,我们使用了sizebirthtimemtimeisDirectory()属性,这些属性分别表示文件大小、创建日期、修改日期和目录状态。

使用选项

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属性来检查文件或目录的状态。