Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Node.js Documentation20টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Modules
  • NPM
  • File System
  • Events
  • Streams
  • HTTP
  • Async Programming
  • Environment
  • Debugging
  • Express.js
  • API Development
  • Authentication
  • Database
  • Production
  • Advanced Node.js
  • Best Practices
  • Projects
  • Interview
  1. Docs
  2. Node.js
  3. Node.js Streams
Node.jsIntermediate

Node.js Streams

Readable, Writable, Transform, Pipe — বড় ডেটা efficient ভাবে প্রসেস করার বাংলা গাইড।

13টি অংশবাংলা ভাষায়

Stream হলো data-কে chunk-এ ভাগ করে process করার পদ্ধতি। এটি memory-efficient — বড় ফাইল বা real-time data handle করার জন্য আদর্শ।

Stream-এর চারটি প্রকার

Typeকাজউদাহরণ
Readableডেটা পড়াfs.createReadStream, http.incoming
Writableডেটা লেখাfs.createWriteStream, http.outgoing
Duplexপড়া ও লেখা দুটোইTCP socket
Transformডেটা রূপান্তর করে দেয়zlib (gzip), crypto

Readable Stream

const fs = require("node:fs");

const readStream = fs.createReadStream("large-file.txt", {
  encoding: "utf8",
  highWaterMark: 1024, // 1KB chunk size
});

readStream.on("data", (chunk) => {
  console.log("পাওয়া হয়েছে:", chunk.length, "characters");
});

readStream.on("end", () => {
  console.log("পড়া শেষ!");
});

readStream.on("error", (err) => {
  console.error("ত্রুটি:", err.message);
});

Writable Stream

const fs = require("node:fs");

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

writeStream.write("প্রথম লাইন\n");
writeStream.write("দ্বিতীয় লাইন\n");
writeStream.write("তৃতীয় লাইন\n");
writeStream.end("শেষ লাইন\n");

writeStream.on("finish", () => {
  console.log("লেখা সম্পন্ন!");
});

Pipe — Stream সংযোগ

.pipe() দিয়ে readable stream-কে writable stream-এর সাথে সংযুক্ত করা যায়। এটি chunks-কে auto-manage করে।

ফাইল copy (stream দিয়ে)javascript
javascript
const fs = require("node:fs");

const readStream = fs.createReadStream("source.txt");
const writeStream = fs.createWriteStream("destination.txt");

readStream.pipe(writeStream);

writeStream.on("finish", () => {
  console.log("ফাইল কপি সম্পন্ন!");
});

Transform Stream

const { Transform } = require("node:stream");

const upperCase = new Transform({
  transform(chunk, encoding, callback) {
    this.push(chunk.toString().toUpperCase());
    callback();
  },
});

const { stdin, stdout } = process;
stdin.pipe(upperCase).pipe(stdout);
কখন Stream ব্যবহার করবেন

বড় ফাইল (100MB+), real-time data, বা large file processing-এ stream ব্যবহার করুন। ছোট ফাইলের জন্য readFile/writeFile সাধারণত যথেষ্ট।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরNode.js Events (EventEmitter)পরেরNode.js HTTP Module
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com