Node.js Stream Complete Reference
Node.js streams are a type of data-handling method and are used to read or write input into output sequentially. Streams are used to handle reading/writing files or exchanging information efficiently.
Example:
Javascript
// Node.js program to demonstrate the // writable.write() method // Including stream module const stream = require('stream'); // Creating a stream and creating // a write function const writable = new stream.Writable({ // Write function with its // parameters write: function(chunk, encoding, next) { // Converting the chunk of // data to string console.log(chunk.toString()); next(); } }); // Calling write method with // all its parameter writable.write("GfG", "utf8", () => { console.log("CS-Portal!"); }); |
Output:
GfG true CS-Portal!
The Complete List of Streams are listed below:
Writable Streams
|
Writable Streams Methods |
Descriprion |
|---|---|
| cork() | Write every data into the buffer memory. |
| destroy() | Destroy the created stream and you cannot call the write() method |
| end() | It is an inbuilt application programming interface of Stream module |
| setDefaultEncoding() | Set the default encoding for a Writable stream. |
| uncork() | Flush all the buffered data when stream.cork() method was called. |
| _write() | It is affixed with an underscore as it is inside the class that defines it. |
| write() | Write some data to the Writable stream. |
| read() | Read the data out of the internal buffer. |
| destroy() | Destroy the stream. |
| pause() | Stop the flowing mode from emitting ‘data’ events. |
| isPaused() | Check the current operating state of the Readable streams. |
| resume() | Paused data that can be resumed again and data starts flowing again. |
|
Writable Streams Property |
Description |
|---|---|
| Length | check the number of bytes in the queue that is ready to be written. |
| ObjectMode | Get the object mode value of the Writable stream. |
| Finished | The writable.writableFinished property is set to true instantly before the emit of the ‘finish’ event. |
| Corked | Check the number of times you need to call the uncork() function so that you can fully uncork the stream. |
| destroyed | Check the writable.destroy() method is being called or not. |
| writable | Check the writable.write() method is safe to call or not. |
| writableEnded | Check the writable.end() method is being called or not. |
| HighWaterMark | Check the highWaterMark value which was passed while creating the Writable. |
| destroyed | Check the readable.destroy() function is being called or not. |
|
Writable Streams Event |
Description |
|---|---|
| close | Its hidden resources (for example, a file descriptor) is being closed. |
| finish | The ‘finish’ event in a Writable Stream is emitted after the Calling of writable.end() method |
| Stream pipe | When the stream.pipe() method is being called on a readable stream |
| unpipe | When stream.unpipe() method is being called on a Readable stream |
Readable Streams
|
Readable Streams Methods |
Description |
|---|---|
| pipe() | Attach a Writable stream to the readable stream so that it consequently |
| unpipe() | Detach a Writable stream which was previously attached while using the stream.pipe() method. |
| unshift() | Readable Stream is utilized to push a chunk of data back into the internal buffer. |
| Readable.from() | construct Readable Streams out of iterators. |
| setEncoding() | Set the encoding of the data read. |
|
Readable Streams Property |
Description |
|---|---|
| readableLength | Check the number of bytes in the queue which is ready to be read. |
| readableHighWaterMark | Check the value of highWaterMark used while constructing Readable streams. |
| readableFlowing | Check if the streams are in flowing mode or not. |
| readableEnded | Check if the end event is emitted or not. |
| readableObjectMode | Check the objectMode of the stream |
| readable | Check if it is safe to call readable.read() method. |
| Readable Streams Events |
Description |
|---|---|
| pause | When stream.pause() is being called and readableFlowing property is not false. |
| resume | When stream.resume() is being called and readableFlowing property is not true. |
| error | The ‘error’ event in Readable stream can be emitted at any time. |
| readable | When the data is available so that it can be read from the stream |
| data | When readable.pipe() and readable.resume() method is called for switching the stream |
| close | When the stream and any of its hidden resources are being closed |
| end | When there is no available data to be consumed from the readable stream. |
Transform Streams
| Transform Streams Methods |
Description |
|---|---|
| destroy() | Destroy the transform stream, and also emits an ‘error’ event optionally. |
| pipeline() | That is used to the pipe by linking. |
| finished() | It is utilized to receive an alert if a stream is not writable or readable anymore. |
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!
Looking for a place to share your ideas, learn, and connect? Our Community portal is just the spot! Come join us and see what all the buzz is about!

