Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Node.js Stream readable.pipe() Method

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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.pipe() method in Node.js: 

Example 1: 

javascript




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

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: 

javascript




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

Output:

File Compressed.

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


My Personal Notes arrow_drop_up
Last Updated : 13 May, 2022
Like Article
Save Article
Similar Reads
Related Tutorials