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.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.
Please Login to comment...