📅  最后修改于: 2023-12-03 15:33:09.964000             🧑  作者: Mango
在 Node.js 中,stats.mtime
属性用于获取文件的最后修改时间。这个属性属于 fs.Stats
对象,可以通过 fs.stat()
方法获取。
下面是一个例子,展示了如何获取文件的最后修改时间:
const fs = require('fs');
fs.stat('file.txt', (err, stats) => {
if (err) {
console.error(err);
return;
}
console.log(`File modified at: ${stats.mtime}`);
});
在这个例子中,我们通过 fs.stat()
方法获取了 file.txt
的 fs.Stats
对象。然后,我们通过 stats.mtime
属性获取了文件的最后修改时间,并在控制台输出了这个时间。
由于 stats.mtime
属性可以获取文件的最后修改时间,我们可以使用它来判断文件是否修改过。下面是一个例子,展示了如何使用 stats.mtime
属性来判断文件是否修改过:
const fs = require('fs');
fs.stat('file.txt', (err, stats) => {
if (err) {
console.error(err);
return;
}
const lastModified = stats.mtime.getTime();
// 在一段时间后再次获取文件状态
setTimeout(() => {
fs.stat('file.txt', (err, newStats) => {
if (err) {
console.error(err);
return;
}
const newModified = newStats.mtime.getTime();
if (newModified > lastModified) {
console.log('File has been modified');
} else {
console.log('File has not been modified');
}
});
}, 5000);
});
在这个例子中,我们先获取了 file.txt
的 fs.Stats
对象,然后通过 stats.mtime.getTime()
获取了文件的最后修改时间。接着,我们通过 setTimeout()
方法在 5 秒后再次获取文件状态,并通过 newStats.mtime.getTime()
获取了文件的最后修改时间。最后,比较这两个时间,如果最后修改时间发生了变化,则表明文件已被修改过。
在 Node.js 中,stats.mtime
属性可以用于获取文件的最后修改时间,以及判断文件是否修改过。通过使用这个属性,我们可以编写出更加健壮的文件操作程序。