📜  Node.js Stream readable.pipe() 方法

📅  最后修改于: 2022-05-13 01:56:52.618000             🧑  作者: Mango

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。