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
var fs = require("fs");
var readable = fs.createReadStream( 'input.txt' );
var writable = fs.createWriteStream( 'output.txt' );
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
var fs = require("fs");
var zlib = require( 'zlib' );
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.