Streams
class
Streams handle data piece by piece instead of loading it all into memory. Essential for large file operations.
Syntax
const { Readable, Writable, Transform } = require('stream')
Example
javascript
const fs = require('fs');
const zlib = require('zlib');
// Pipe: read -> compress -> write
fs.createReadStream('large.txt')
.pipe(zlib.createGzip())
.pipe(fs.createWriteStream('large.txt.gz'))
.on('finish', () => console.log('Done'));
// Read stream line by line
const readline = require('readline');
const rl = readline.createInterface({
input: fs.createReadStream('data.csv'),
});
rl.on('line', (line) => {
console.log(line);
});