无论我在控制台中键入什么,以下代码都会将文件写入文件。它还同时读取同一文件并显示文件中的内容。
我在控制台中键入的所有内容都保存在文件中。我手动去检查了一下。但是我输入的内容不会同时显示。
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);
答案 0 :(得分:3)
./testfile.txt
中的数据已完全管道传输时,read stream将关闭。它不会等待其他条目或更改。
您可以使用fs.watch
来监听文件更改,甚至可以更好地使用tail-stream或node-tail之类的东西。