使用流写入和读取文件

时间:2018-08-17 10:36:35

标签: javascript node.js node.js-stream

无论我在控制台中键入什么,以下代码都会将文件写入文件。它还同时读取同一文件并显示文件中的内容。

我在控制台中键入的所有内容都保存在文件中。我手动去检查了一下。但是我输入的内容不会同时显示。

const fs = require('fs');
const Wstream = fs.createWriteStream('./testfile.txt', {encoding: 'utf8'});
const Rstream = fs.createReadStream('./testfile.txt', {encoding: 'utf8'});
process.stdin.pipe(Wstream);
Rstream.pipe(process.stdout);

为什么这与以下内容不同?

process.stdin.pipe(process.stdout);

1 个答案:

答案 0 :(得分:3)

./testfile.txt中的数据已完全管道传输时,read stream将关闭。它不会等待其他条目或更改。

您可以使用fs.watch来监听文件更改,甚至可以更好地使用tail-streamnode-tail之类的东西。