BufferedReader এবং BufferedWriter এর ব্যবহার কিভাবে করা যায়?

Java I/O (Input/Output) সম্পর্কিত প্রশ্নাবলী - জাভা ইন্টারভিউ প্রশ্ন (Java Interview Questions) - Java Technologies

315

BufferedReader এবং BufferedWriter হল Java I/O ক্লাস, যা text-based ইনপুট এবং আউটপুট পরিচালনা করতে ব্যবহৃত হয়। এই ক্লাসগুলি buffering কৌশল ব্যবহার করে, যার ফলে ফাইল বা স্ট্রিং থেকে দ্রুত ডেটা পড়া এবং লেখার কাজ সহজ হয়।

1. BufferedReader:

BufferedReader একটি ক্লাস যা text input থেকে ডেটা পড়তে ব্যবহৃত হয় এবং এটি স্ট্রিমের মাধ্যমে ডেটা সংগ্রহ করে দ্রুত কার্যসম্পাদন করে। এটি buffered স্ট্রিম ব্যবহার করে, ফলে একক অক্ষরের পরিবর্তে বড় ব্লক ডেটা পড়া সম্ভব হয়।

BufferedReader ব্যবহারের সুবিধা:

  • ফাইল থেকে লাইন বাই লাইন ডেটা পড়তে সাহায্য করে।
  • ডেটা পড়ার গতি অনেক দ্রুত হয়, কারণ এটি একটি buffer ব্যবহার করে।

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

import java.io.*;

public class BufferedReaderExample {
    public static void main(String[] args) {
        // BufferedReader এর সাথে FileReader ব্যবহার করা
        try {
            FileReader fileReader = new FileReader("example.txt");  // ফাইল খুলতে FileReader ব্যবহার করা
            BufferedReader bufferedReader = new BufferedReader(fileReader);  // BufferedReader দিয়ে ডেটা পড়া

            String line;
            // ফাইলের প্রতিটি লাইন পড়া
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);  // প্রতি লাইন কনসোলে আউটপুট
            }

            // BufferedReader বন্ধ করা
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

উদাহরণ ব্যাখ্যা:

  • FileReader ব্যবহার করে একটি ফাইল খোলা হয় এবং তারপর সেই ফাইলটি BufferedReader এর মাধ্যমে লাইনে লাইনে পড়া হয়।
  • readLine() মেথডটি ব্যবহার করে প্রতি লাইনে একটি String ফেরত পায়।
  • যখন পড়া শেষ হয়, তখন close() মেথড দিয়ে BufferedReader বন্ধ করতে হয়।

2. BufferedWriter:

BufferedWriter হল একটি ক্লাস যা text output বা ডেটা লেখার জন্য ব্যবহৃত হয়। এটি buffered আউটপুট স্ট্রিম ব্যবহার করে, যার ফলে অনেক দ্রুত ডেটা লেখা সম্ভব হয়। এটি বিশেষভাবে বড় আউটপুট বা অনেক সংখ্যক ডেটা লেখার সময় কার্যকরী।

BufferedWriter ব্যবহারের সুবিধা:

  • ফাইল বা স্ট্রিমে দ্রুত লেখার জন্য এটি ব্যবহৃত হয়।
  • এটি buffered লেখার মাধ্যমে performance উন্নত করে।

BufferedWriter ব্যবহার করার উদাহরণ:

import java.io.*;

public class BufferedWriterExample {
    public static void main(String[] args) {
        // BufferedWriter এর সাথে FileWriter ব্যবহার করা
        try {
            FileWriter fileWriter = new FileWriter("output.txt");  // ফাইল খুলতে FileWriter ব্যবহার করা
            BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);  // BufferedWriter দিয়ে ডেটা লেখা

            String content = "Hello, this is an example of BufferedWriter!";
            bufferedWriter.write(content);  // ফাইলে ডেটা লেখা
            bufferedWriter.newLine();  // নতুন লাইন যোগ করা
            bufferedWriter.write("This is another line.");
            bufferedWriter.flush();  // ডেটা ফ্লাশ করা (কনফার্ম করে যে লেখার সব ডেটা ফাইলের মধ্যে চলে গেছে)

            // BufferedWriter বন্ধ করা
            bufferedWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

উদাহরণ ব্যাখ্যা:

  • FileWriter ব্যবহার করে একটি ফাইল খুলতে হয় এবং তারপর সেই ফাইলটিতে BufferedWriter দিয়ে ডেটা লেখা হয়।
  • write() মেথডের মাধ্যমে স্ট্রিং লেখার কাজ হয় এবং newLine() দিয়ে নতুন লাইন যোগ করা হয়।
  • flush() মেথডটি ব্যবহৃত হয়, যাতে লেখা সব ডেটা ফাইলের মধ্যে পাঠানো হয়।
  • লেখার পরে close() মেথড দিয়ে BufferedWriter বন্ধ করতে হয়।

BufferedReader এবং BufferedWriter এর মধ্যে পার্থক্য:

FeatureBufferedReaderBufferedWriter
PurposeInput stream থেকে ডেটা পড়ার জন্য ব্যবহৃত।Output stream এ ডেটা লেখার জন্য ব্যবহৃত।
Read Methodread(), readLine()No direct read method.
Write MethodNo direct write method.write(), newLine()
Primary Useফাইল বা স্ট্রিম থেকে দ্রুত টেক্সট পড়া।ফাইল বা স্ট্রিমে দ্রুত টেক্সট লেখা।
BufferingBufferedReader ডেটা দ্রুত পড়তে buffer ব্যবহার করে।BufferedWriter ডেটা দ্রুত লেখার জন্য buffer ব্যবহার করে।
  • BufferedReader এবং BufferedWriter ব্যবহার করে Java তে ফাইল I/O পরিচালনা করা দ্রুত এবং কার্যকরী হয়।
  • BufferedReader লাইন বাই লাইন ডেটা পড়তে ব্যবহৃত হয় এবং BufferedWriter ব্যবহার করে দ্রুত ডেটা লেখা সম্ভব হয়।
  • দুইটি ক্লাসই buffering কৌশল ব্যবহার করে, ফলে স্ট্যান্ডার্ড I/O ক্লাসগুলির তুলনায় আরো ভালো পারফরম্যান্স পাওয়া যায়।

এগুলো ব্যবহারের মাধ্যমে file I/O এর গতি এবং কার্যকারিতা অনেকাংশে বৃদ্ধি পায়।

Content added By
Promotion

Are you sure to start over?

Loading...