簡體   English   中英

Node.js:修改時確定文件大小

[英]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返回的變量currprevfs.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.watchfs.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM