Node.js Stream readable.pipe() 方法
Readable Stream 中的 readable.pipe () 方法用于将 Writable 流附加到可读流,以便它随后切换到流动模式,然后将其拥有的所有数据推送到附加的 Writable。
句法:
readable.pipe( destination, options )
参数:此方法接受上面提到的两个参数,如下所述:
- 目的地:该参数保存写入数据的目的地。
- options:此参数保存管道选项。
返回值:它返回流。可写目的地,如果它是双工或转换流,则允许管道链。
下面的示例说明了 Node.js 中readable.reapipe() 方法的使用:
示例 1:
// Node.js program to demonstrate the
// readable.pipe() method
// Accessing fs module
var fs = require("fs");
// Create a readable stream
var readable = fs.createReadStream('input.txt');
// Create a writable stream
var writable = fs.createWriteStream('output.txt');
// Calling pipe method
readable.pipe(writable);
console.log("Program Ended");
输出:
Program Ended
因此,在管道方法之后,名为“output.text”的文件必须包含文件“input.text”中的数据。
示例 2:
// Node.js program to demonstrate
// the chaining of streams using
// readable.pipe() method
// Accessing fs and zlib module
var fs = require("fs");
var zlib = require('zlib');
// Compress the file input.text to
// input.txt.gz using pipe() method
fs.createReadStream('input.text')
.pipe(zlib.createGzip())
.pipe(fs.createWriteStream('input.text.gz'));
console.log("File Compressed.");
输出:
File Compressed.
参考: https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options。