我有要求,我需要解析文本文件的所有行,直到最后一行,并等待文本文件中的数据可用(文件的内容是每行中的文件路径)
我已经使用readStream,Readable.resume(),Readable.pause()编写了以下节点js代码
const fs = require('fs');
const filename = "C:\\Temp\\removeme.txt";
var watching = false;
var readStream = fs.createReadStream(filename);
readStream.on('data', data => {
console.log(data.toString());
if(watching) readStream.pause();
});
watching = true;
fs.watch(filename,{persistent: true}, (event,file_name) => {
if(event === 'change') {
readStream.resume();
}
});
但是,一旦开始监视,只要使用echo“ Test String” >> C:\ Temp \ removeme.txt更新文件,就可以获取事件,但不能读取readStream上的数据事件。我尝试了不同的方法,但没有成功。任何帮助/指针,不胜感激
最佳答案
正如他们所说:“有一个模块!”
见file-tail
将来,我发现npm是查找模块的宝贵资源!选择最能描述您所寻找内容的两个或三个单词,然后在npm search
命令中使用它们,如下所示:$> npm search file tail
产生:NAME | DESCRIPTION | AUTHOR | DATE | VERSION | KEYWORDS
read-chunk | Read a chunk from a… | =sindresorhus | 2017-07-30 | 2.1.0 | read file readfile fs chunk slice part head tail buffer fd opentail | tail a file in node | =lucagrulla | 2017-10-22 | 1.2.3 | tail filefs-tail-stream | fs.createReadStream… | =eugeneware | 2017-02-02 | 1.1.0 | fs createReadStream tail tailing watch watching......
或将您的单词提交到npmjs
的搜索栏。
关于node.js - 如何读取文件直到最后一行并等待Nodejs中的数据可用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47023131/