16
私はデュプレックス文字列(through)のファイルをパイプしていますが、ファイルへの書き込みにはstdout
とへの情報の印刷に問題があります。どちらか一方がうまく動作します。標準出力と書き込み可能なストリームへのパイプ
var fs = require('fs');
var path = require('path');
var through = require('through'); // easy duplexing, i'm young
catify = new through(function(data){
this.queue(data.toString().replace(/(woof)/gi, 'meow'));
});
var reader = fs.createReadStream('dogDiary.txt'); // woof woof etc.
var writer = fs.createWriteStream(path.normalize('generated/catDiary.txt')); // meow meow etc.
// yay!
reader.pipe(catify).pipe(writer)
// blank file. T_T
reader.pipe(catify).pipe(process.stdout).pipe(writer)
私はprocess.stdout
が書き込み可能なストリームですが、私は私が(私は無駄に{end: false}
を渡して試してみた)やりたいことするかどうかはわかりませんので、これはあると仮定しています。それでも、私の頭の周りストリーム包むのに苦労し
、私は何かを明らかに見逃している場合は、私を許して:)
ありがとうございます、これは魅力的です。これらのように分離する必要がある理由についての説明はありますか? –
パイプは、ソースではなく宛先を返します。一度ストリームにパイプするだけです。 –