获取文件的新内容

时间:2011-12-04 16:54:03

标签: node.js file-io maxima

node.js脚本调用最大值计算机代数系统并将输入重定向到最大值stdin。 Maxima将处理后的输入写入临时文本文件,其中每个结果最大值返回都有一个新行。

节点是否可以监视写入文件的新数据并以某种方式捕获此数据(仅写入文件的新行,而不是整个文件)?

我已经尝试fs.watchFile但无法捕获它返回的实际数据。

感谢。

1 个答案:

答案 0 :(得分:0)

fs.watchFile插入操作系统中的实际文件监视功能(Linux中的inotify),它只是通过路由这些事件。线路已经改变的任何逻辑等都必须由你自己实现。因为它是一个日志文件,您可能只对尾部感兴趣,并且您可以重用其他程序。例如,请参阅this example

如果您想自己动手,请执行以下操作:

fs.watchFile("/path/to/log.txt", function (prev, curr) {
    // verify writes
    if (x && y && z) {
        fs.readFile("/path/to/log.txt", "utf8", function (err, body) {
             // check what has been appended
        });
    }
});