我正在尝试以非常高的速率读取一个不断增长的文本文件(在末尾添加新行),假设每行大约100行,其中行大小约为200个字符。
我试过跟随,但是工作但是滞后一分钟左右。
var fs = require('fs');
var path = "D:\\testreadwrite.txt";
fs.watchFile(path, function() {
console.log('File Changed ...');
file = fs.readFileSync(path);
console.log('File content at : ' + new Date() + ' is \n' + file);
});
我真的不需要同步阅读但是滞后> 1分钟太高了,我每次都需要整个文件。我需要的是,为每一条新线路逐行读取数据并进行处理。所以我尝试下面的代码,我计划循环并传递每次迭代的偏移量。但是这个代码因某些未知原因而无法运行。请帮忙。
var fs = require('fs');
var path = "D:\\Work\\Jai Ho\\myapp\\public\\testreadwrite.txt";
fs.watch(path, function(event, filename) {
if(filename){
fs.stat(path, function(error, stats) {
fs.open(path, "r", function(error, fd) {
var buffer = new Buffer(stats.size);
fs.read(fd, buffer, 0, buffer.length, null, function(error, bytesRead, buffer) {
var data = buffer.toString("utf8");
console.log(data);
});
});
});
}
else{
console.log('filename not provided')
}
});