当我们在 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() 方法获取文件的状态信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js中的fs.stat方法使用说明 - Python技术站