Node.js | Stream readable.pipe() Method

The readable.pipe() method in a Readable Stream is used to attach a Writable stream to the readable stream so that it consequently switches into flowing mode and then pushes all the data that it has to the attached Writable.

Syntax:

readable.pipe( destination, options )

Parameters: This method accept two parameters as mentioned above and described below:

  • destination: This parameter holds the destination of writing data.
  • options: This parameter holds the pipe options.

Return Value: It returns the stream.Writable destination, allowing for a chain of pipes if it is a Duplex or a Transform stream.

Below examples illustrate the use of readable.reapipe() method in Node.js:



Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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");

chevron_right


Output:

Program Ended

So, after the piping method the file named “output.text” must contain the data that was in the file “input.text”.

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.");

chevron_right


Output:

File Compressed.

Reference: https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.