Types of Streams in Node.js

1. Definition

Streams in Node.js are used to handle data in chunks. There are different types of streams based on how data is read, written, or processed.

2. Readable Stream

  • Used to read data
  • Data comes in chunks
  • Example: fs.createReadStream()

3. Writable Stream

  • Used to write data
  • Sends data in chunks
  • Example: fs.createWriteStream()

4. Duplex Stream

  • Can read and write data
  • Two-way communication
  • Example: network sockets

5. Transform Stream

  • Modify data while streaming
  • Input is transformed into output
  • Example: compression, encryption

6. Example

const fs = require("fs");

// Readable Stream
const readStream = fs.createReadStream("input.txt");

// Writable Stream
const writeStream = fs.createWriteStream("output.txt");

// Pipe data
readStream.pipe(writeStream);

7. Advantages

  • Efficient for large data
  • Low memory usage
  • Faster processing
  • Supports real-time operations