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:
const fs = require( "fs" );
const readable = fs.createReadStream( "input.txt" );
readable.on( 'readable' , () => {
let chunk;
while ( null !== (chunk = readable.read())) {
console.log(`read: ${chunk}`);
}
});
console.log( "done" );
|
Output:
done
read: hello
Here, in the above example the data read from the buffer is ‘hello’ so it is returned.
Example 2:
const fs = require( "fs" );
const readable = fs.createReadStream( "input.txt" );
readable.on( 'readable' , () => {
let chunk;
while ( null !== (chunk = readable.read(1))) {
console.log(`read: ${chunk}`);
}
});
console.log( "done" );
|
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