node.js中的fs.stat方法使用说明

发布时间:2026-09-28 18:02:35 浏览次数:2

当我们在 Node.js 中需要读取、写入或者操作文件时,需要使用 fs 模块。在 fs 模块中,fs.stat() 方法可以用于获取文件的状态,例如文件大小、创建时间、修改时间等信息。本文将详细讲解如何使用 fs.stat() 方法。

fs.stat() 方法介绍

fs.stat() 方法用于获取文件的状态信息,如文件大小、创建时间、修改时间等。它的语法如下:

fs.stat(path[, options], callback)

其中,

  • path:文件路径。
  • options:可选参数,可以指定编码方式、文件类型等信息。
  • callback:回调函数,当获取文件状态信息完成后执行的函数。

回调函数包含两个参数,分别是 err 和 stats,err 表示操作是否成功,stats 表示获取到的文件状态信息。

使用 fs.stat() 方法

常规使用方法

以下是一个简单的示例,使用 fs.stat() 方法获取文件的状态信息:

const fs = require('fs');fs.stat('./file.txt', function(err, stats) {  if (err) throw err;  console.log(`File size: ${stats.size} bytes`);  console.log(`Created at: ${stats.birthtime}`);  console.log(`Last modified at: ${stats.mtime}`);});

首先引入 fs 模块,并指定文件的路径为 file.txt。然后通过 fs.stat() 方法获取文件状态信息,并在回调函数中打印出文件大小、创建时间和修改时间。

使用 Promise 封装

下面是一个 Promise 封装的示例,使用 Promise 将 fs.stat() 方法封装。

const fs = require('fs');function stat(path) {  return new Promise((resolve, reject) => {    fs.stat(path, (err, stats) => {      if (err) return reject(err);      resolve(stats);    });  });}stat('./file.txt')  .then(stats => {    console.log(`File size: ${stats.size} bytes`);    console.log(`Created at: ${stats.birthtime}`);    console.log(`Last modified at: ${stats.mtime}`);  })  .catch(console.error);

这个示例中,我们定义了一个 stat() 函数来封装 fs.stat() 方法,使用 Promise 来实现异步操作。在使用时,首先调用 stat() 方法,返回一个 Promise 对象,然后在 Promise 的 then() 方法中获取文件状态信息。

总结

本文详细讲解了如何使用 fs.stat() 方法获取文件状态信息,包括常规使用方法和使用 Promise 封装的方法,并介绍了相关参数和回调函数的含义。在实际开发中,我们可以根据具体需求来使用 fs.stat() 方法获取文件的状态信息。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477