如何读取文件直到最后一行并等待Nodejs中的数据

时间:2017-10-30 19:49:45

标签: node.js

我需要在哪里解析文本文件的所有行直到最后一行,并等待数据在文本文件中可用(文件的内容是每行中的文件路径)< /强> 我使用 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”&gt;&gt;更新文件时,我都可以获取事件。 C:\ Temp \ removeme.txt 但不是readStream上的数据事件。我尝试了不同的方法而没有任何成功。非常感谢任何帮助/指针

1 个答案:

答案 0 :(得分:1)

作为,他们说:“这里有一个模块!”

请参阅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 open tail | tail a file in node | =lucagrulla | 2017-10-22 | 1.2.3 | tail file fs-tail-stream | fs.createReadStream… | =eugeneware | 2017-02-02 | 1.1.0 | fs createReadStream tail tailing watch watching ... ...

或者将您的文字提交到npmjs的搜索栏。