2

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

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

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

谢谢。

4

1 回答 1

0

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

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

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
        });
    }
});
于 2011-12-05T13:26:19.147 回答