节点转换流:将字符串追加到末尾

eye*_*mew 4 stream node.js

我如何创建一个转换流,该转换流唯一会发生的变化是,在输入的可读流的末尾附加一个字符串。

例如,假设input.txt包含abcdef。

fs.createReadStream('input.txt', {encoding: 'utf8'})
    .pipe(appendTransform)
    .pipe(fs.createWriteStream('output.txt', {encoding: 'utf8'}));
Run Code Online (Sandbox Code Playgroud)

我可以用来做什么appendTransform,例如output.txt包含abcdefghi。

Luk*_*uka 6

创建一个转换流:

var Transform = require('stream').Transform;

var appendTransform = new Transform({
    transform(chunk, encoding, callback) {
        callback(null, chunk);
    },
    flush(callback) {
        this.push('ghi');
        callback();
    }
});
Run Code Online (Sandbox Code Playgroud)