Node.js fs.fstat方法使用详解
文件操作时想拿到元数据?Node.js里的 fs.fstat
方法还挺好用的。它不是通过文件路径,而是直接通过打开后的文件符来获取各种信息,比如文件大小、权限、修改时间啥的,适合你在上传、缓存或权限校验场景里用。
fs.fstat的用法也挺,基本套路就是先用 fs.open
打开文件拿到 fd
,再传给 fs.fstat
获取状态信息。回调里会返回一个 stats
对象,里面的数据全,比如 stats.size
是文件大小,stats.mtime
是修改时间。
比如下面这个小例子,打开 content.txt
文件,拿到文件信息,打印出来,再把文件关掉,流程清晰:
const fs = require('fs');
fs.open('content.txt', 'a', (err, fd) => {
if (err) throw err;
console.log('file open');
fs.fstat(fd, (err, stats) => {
if (err) throw err;
console.log(stats);
fs.close(fd, () => console.log('file close'));
});
});
你要是以前用过 fs.stat
,那这个方法你上手会更快。主要区别是 fs.fstat
用的是 文件符,更适合链式,尤其是文件还没写完就要拿状态的那种场景。
嗯,对了,如果你想进一步了解 fs.stat
和 fs.fstat
的区别,可以看看这篇对比文章,讲得还挺清楚。
,fs.fstat
适合你在已经打开的文件时查状态,比起重新查路径,性能也会好一些。如果你还没用过,建议试试看。
29.8KB
文件大小:
评论区