Node.js | Stream readable.read() Method

The readable.read() method is an inbuilt application programming interface of Stream module which is used to read the data out of the internal buffer. It returns data as a buffer object if no encoding is being specified or if the stream is working in object mode.

Syntax:

readable.read( size )

Parameters: This method accepts single parameter size which specifies the number of bytes to be read from the internal buffer.

Return Value: If this method is used then the data read after this method is displayed in the output and if no data exist in the buffer then null is returned.

Below examples illustrate the use of readable.read() method in Node.js:



Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Node.js program to demonstrate the     
// readable.read() method  
   
// Include fs module
const fs = require("fs");
   
// Constructing readable stream
const readable = fs.createReadStream("input.txt");
   
// Instructions for reading data
readable.on('readable', () => {
  let chunk;
   
  // Using while loop and calling
  // read method
  while (null !== (chunk = readable.read())) {
   
    // Displaying the chunk
    console.log(`read: ${chunk}`);
  }
});
console.log("done");

chevron_right


Output:

done
read: hello

Here, in the above example the data read from the buffer is ‘hello’ so it is returned.

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Node.js program to demonstrate the     
// readable.read() method  
  
// Include fs module
const fs = require("fs");
  
// Constructing readable stream
const readable = fs.createReadStream("input.txt");
  
// Instructions for reading data
readable.on('readable', () => {
  let chunk;
  
  // Using while loop and calling
  // read method with parameter
  while (null !== (chunk = readable.read(1))) {
  
    // Displaying the chunk
    console.log(`read: ${chunk}`);
  }
});
console.log("done");

chevron_right


Output:

done
read: h
read: e
read: l
read: l
read: o

In the above example the size of the data is stated so only one byte is read in each step from the file “input.txt” which contains data ‘hello’.

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




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.