6

.txt ファイルを読み取り、最後にデータを追加して、最後に zipstream に送信したいと思います。今私がやっていることは、新しいファイルを書き込んでから、新しいファイルをzipstreamに使用することですが、不要な新しいファイルを作成せずに、その場で実行したいと思います。

私の質問は、読み取りストリームを作成し、それを変更して別の読み取りストリームに送信する方法です(おそらく途中で書き込みストリームを使用)。

これは可能ですか?

元のアイデアはこれでしたが、途中で迷ってしまいました:

var zipstream = require('zipstream');
var Stream = require('stream');

var zipOut = fs.createWriteStream('file.zip');
var zip = zipstream.createZip({ level : 1 });
zip.pipe(zipOut);

var rs = fs.createReadStream('file.txt');
var newRs = new Stream(); // << Here should be an in/out stream??
newRs.pipe = function(dest) {
  dest.write(rs.read());
  dest.write("New text at the end");
};
zip.addEntry(newRs, {name : 'file.txt'}, function() {
  zip.finalize();
});
4

1 に答える 1