![](/img/trans.png)
[英]Simple node.js modification, how to determine if a variable is increasing or decreasing?
[英]Node.js: Determine file size on modification
我正在觀看Node.js中的文件,並希望每次更改時獲取文件的大小。 如何用fs.watchFile
完成這項工作?
這就是我目前正在做的事情:
fs.watchFile(file, function(curr, prev) {
// determine file size
});
var fs = require('fs');
fs.watchFile('some.file', function () {
fs.stat('some.file', function (err, stats) {
console.log(stats.size);
});
});
我錯過了從fs.watchFile
返回的變量curr
和prev
是fs.Stats
實例。 這將是最佳解決方案:
var fs = require('fs');
fs.watchFile('file', function (curr, prev) {
console.log(curr.size);
});
但是,從Node v0.8.0開始, fs.watchFile
不再使用IOWatcher
,現在使用stat輪詢,這很慢並且不提供實時更新。 這在GitHub上進行了討論。
從節點更改日志 :
棄用iowatcher,fs:fix fs.watchFile()(Ben Noordhuis)
相反,另一種解決方案現在是fs.watch
和fs.stat
:
var fs = require('fs');
fs.watch('file', function (curr, prev) {
fs.stat('file', function (err, stats) {
console.log(stats.size);
});
});
使用fs.stat
回調: watchFile
只是讓你知道它改變了,它不報告的變化細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.