Open In App

Node.js Stream Complete Reference

Last Updated : 27 Feb, 2023
Like Article

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.



// 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
// Calling write method with
// all its parameter
writable.write("GfG", "utf8", () => {



The Complete List of Streams are listed below:

Writable Streams

Writable Streams Methods

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

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


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


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


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 method.
Readable Streams Events


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


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.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads