我有要求,我需要解析文本文件的所有行,直到最后一行,并等待文本文件中的数据可用(文件的内容是每行中的文件路径)
我已经使用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/

10-16 19:40