Я пытаюсь прочитать текстовый файл, который постоянно растет (добавляя новые строки в конце) с очень высокой скоростью, скажем, ~ 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')
}
});
err
? также что вы получаете, когда вы регистрируетеfilename
,stats
иerror
в функцииstat()
, это поможет нам лучше понять, откуда исходит ошибка @sand - person turmuka   schedule 11.09.2017