বাফারড রিডার এবং ফাইলরাইটার

জাভা I/O - জাভা প্রোগ্রামিং (Java Programming) - Computer Programming

289

Java তে BufferedReader এবং FileWriter হলো দুটি গুরুত্বপূর্ণ ক্লাস, যা ফাইলের ডেটা পড়া এবং লেখার জন্য ব্যবহৃত হয়। BufferedReader বড় আকারের ডেটা দ্রুত পড়তে এবং FileWriter ফাইলে ডেটা লেখার জন্য ব্যবহার করা হয়।


BufferedReader

BufferedReader হলো একটি ক্লাস যা ইনপুট স্ট্রিম বা রিডারকে বাফার করে, যার ফলে বড় আকারের ডেটা দ্রুত পড়া যায়। এটি বিশেষত ফাইল বা ইনপুট স্ট্রিম থেকে ডেটা লাইনের মাধ্যমে পড়তে সহায়ক।

BufferedReader এর মূল মেথড

  • readLine(): এক লাইনের ডেটা পড়ে এবং এটি null রিটার্ন করে যখন EOF (End of File) এ পৌঁছে যায়।
  • close(): BufferedReader বন্ধ করার জন্য ব্যবহৃত হয় এবং এটি সকল রিসোর্স রিলিজ করে।

BufferedReader ব্যবহার উদাহরণ

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderExample {
    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
            String line;

            while ((line = reader.readLine()) != null) { // EOF এ পৌঁছানো পর্যন্ত লাইনে লাইনে পড়ে
                System.out.println(line);
            }
            reader.close(); // BufferedReader বন্ধ করা
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • এখানে BufferedReader ব্যবহার করে input.txt ফাইলটি লাইনে লাইনে পড়া হয়েছে।
  • readLine() মেথডের মাধ্যমে এক লাইনের ডেটা পড়া হয় এবং পরবর্তীতে কনসোলে প্রদর্শিত হয়।

FileWriter

FileWriter হলো একটি ক্লাস যা একটি ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়। এটি মূলত character stream হিসেবে কাজ করে এবং ফাইল লেখার সময় নতুন ফাইল তৈরি করে বা বিদ্যমান ফাইলের উপর লেখা চালিয়ে যায়।

FileWriter এর মূল মেথড

  • write(String str): নির্দিষ্ট স্ট্রিং ফাইলে লেখে।
  • append(CharSequence csq): ফাইলের শেষে ডেটা যুক্ত করে।
  • flush(): লেখার কার্যক্রম শেষ করার পরে সমস্ত ডেটা ফাইলে লেখে।
  • close(): FileWriter বন্ধ করে এবং রিসোর্স মুক্ত করে।

FileWriter ব্যবহার উদাহরণ

import java.io.FileWriter;
import java.io.IOException;

public class FileWriterExample {
    public static void main(String[] args) {
        try {
            FileWriter writer = new FileWriter("output.txt");
            writer.write("Hello, Java I/O!\n"); // ফাইলে ডেটা লেখা
            writer.write("This is an example of FileWriter.\n");

            writer.close(); // FileWriter বন্ধ করা
            System.out.println("Successfully written to the file.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • এখানে FileWriter ব্যবহার করে output.txt ফাইলে ডেটা লেখা হয়েছে।
  • write() মেথড ব্যবহার করে স্ট্রিং আকারে ডেটা ফাইলে সংরক্ষণ করা হয়েছে।
  • লেখার কাজ শেষে close() মেথড ব্যবহার করে FileWriter বন্ধ করা হয়েছে।

BufferedReader এবং FileWriter একসাথে ব্যবহার

BufferedReader এবং FileWriter একসাথে ব্যবহার করে একটি ফাইল থেকে ডেটা পড়ে অন্য ফাইলে লেখার কাজ করা যায়।

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CopyFileExample {
    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
            FileWriter writer = new FileWriter("output.txt");
            String line;

            while ((line = reader.readLine()) != null) {
                writer.write(line + "\n"); // লাইনে লাইনে লেখার কাজ
            }

            reader.close(); // BufferedReader বন্ধ
            writer.close(); // FileWriter বন্ধ
            System.out.println("File copied successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • এখানে input.txt ফাইলটি BufferedReader ব্যবহার করে লাইনে লাইনে পড়া হয়েছে।
  • প্রতিটি লাইন FileWriter ব্যবহার করে output.txt ফাইলে লেখা হয়েছে।
  • কাজ শেষে BufferedReader এবং FileWriter বন্ধ করা হয়েছে।

BufferedReader এবং FileWriter এর সুবিধা ও সীমাবদ্ধতা

BufferedReader এর সুবিধা

  • বড় ডেটা দ্রুত পড়তে সহায়ক।
  • লাইনের মাধ্যমে ডেটা পড়া যায়, যা টেক্সট ফাইলের জন্য সুবিধাজনক।

BufferedReader এর সীমাবদ্ধতা

  • এটি শুধুমাত্র পড়ার কাজেই ব্যবহৃত হয়, লেখার জন্য নয়।

FileWriter এর সুবিধা

  • সহজে ফাইলে টেক্সট লেখা যায়।
  • বিদ্যমান ফাইলে লেখা চালিয়ে যাওয়ার (append) সুবিধা প্রদান করে।

FileWriter এর সীমাবদ্ধতা

  • এটি শুধুমাত্র লেখা কার্যক্রমের জন্য ব্যবহৃত হয়, পড়ার জন্য নয়।

সারসংক্ষেপ

Java-তে BufferedReader এবং FileWriter ফাইলের সাথে কাজ করার জন্য অত্যন্ত কার্যকরী ক্লাস। BufferedReader বড় আকারের টেক্সট ফাইল পড়তে ব্যবহার করা হয়, যেখানে FileWriter টেক্সট ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়। একসাথে ব্যবহার করে একটি ফাইল থেকে ডেটা পড়ে অন্য ফাইলে লেখার কাজ সহজে সম্পন্ন করা যায়, যা প্রোগ্রামের কার্যক্ষমতা বাড়ায়।

Content added By
Promotion

Are you sure to start over?

Loading...