nodejsasynchronous读取不断增长的文件

我试图读取一个文本文件,它不断增长(在最后添加新行),速度非常快,可以说每行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') } }); 

Interesting Posts