Skill

জাভা আইও (Java.io Package)

332

java.io package হলো Java প্রোগ্রামিং ভাষায় ব্যবহৃত একটি গুরুত্বপূর্ণ প্যাকেজ, যা ইনপুট এবং আউটপুট অপারেশন পরিচালনা করার জন্য প্রয়োজনীয় বিভিন্ন ক্লাস এবং ইন্টারফেস সরবরাহ করে। এই প্যাকেজের মাধ্যমে আপনি ফাইল, ডেটা স্ট্রিম, সিরিয়ালাইজেশন, এবং নেটওয়ার্ক কানেকশন এর মতো ইনপুট এবং আউটপুট সম্পর্কিত কাজগুলো সম্পন্ন করতে পারেন। এটি স্ট্যান্ডার্ড ইনপুট (keyboard), আউটপুট (console), এবং ফাইল সিস্টেমের সঙ্গে কাজ করার সুবিধা দেয়।


Java I/O প্যাকেজ (java.io) বাংলা টিউটোরিয়াল

Java এর java.io প্যাকেজটি ইনপুট এবং আউটপুট (I/O) সংক্রান্ত বিভিন্ন কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়। এই প্যাকেজটি ফাইল, ডেটা স্ট্রিম এবং সিরিয়ালাইজেশন (Serialization) এর মতো অপারেশন পরিচালনা করতে সাহায্য করে। এটি এমন একটি প্যাকেজ যা দিয়ে আপনি ফাইল পড়তে এবং লিখতে, নেটওয়ার্কের মাধ্যমে ডেটা আদান-প্রদান করতে পারেন।

Java I/O প্যাকেজের প্রধান ক্লাসগুলো:

  • File: ফাইল এবং ডিরেক্টরির তথ্য এবং পরিচালনা।
  • FileReader এবং FileWriter: ফাইল থেকে চরিত্র (character) ইনপুট এবং আউটপুট।
  • BufferedReader এবং BufferedWriter: ডেটা বাফারিং এবং অধিক কার্যক্ষমতা।
  • InputStream এবং OutputStream: বাইনারি ডেটা পড়া এবং লেখা।
  • ObjectInputStream এবং ObjectOutputStream: অবজেক্ট সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন।
  • PrintWriter: পাঠ্য আউটপুট করার জন্য সহজ এবং ফ্লেক্সিবল টুল।

1. File ক্লাস

File ক্লাসটি ফাইল এবং ডিরেক্টরি নিয়ে কাজ করে। এর মাধ্যমে ফাইল তৈরি, মুছে ফেলা, নাম পরিবর্তন, এবং ডিরেক্টরি চালনা করা যায়।

উদাহরণ:

import java.io.File;

public class FileExample {
    public static void main(String[] args) {
        // File অবজেক্ট তৈরি
        File file = new File("example.txt");

        // ফাইলের বৈশিষ্ট্য যাচাই
        if (file.exists()) {
            System.out.println("ফাইলের নাম: " + file.getName());
            System.out.println("ফাইলের পথ: " + file.getAbsolutePath());
            System.out.println("ফাইলের আকার: " + file.length() + " bytes");
        } else {
            System.out.println("ফাইলটি পাওয়া যায়নি!");
        }
    }
}

কিছু সাধারণ ফাইল অপারেশন:

  • exists(): ফাইল বা ডিরেক্টরি বিদ্যমান কিনা তা পরীক্ষা করে।
  • createNewFile(): একটি নতুন ফাইল তৈরি করে।
  • delete(): ফাইল বা ডিরেক্টরি মুছে ফেলে।
  • mkdir(): একটি নতুন ডিরেক্টরি তৈরি করে।

2. FileReader এবং FileWriter ক্লাস

এই ক্লাসগুলো ফাইল থেকে ডেটা পড়া এবং লেখা করার জন্য ব্যবহৃত হয়। FileReader ফাইল থেকে ডেটা পড়ে এবং 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("Java I/O প্যাকেজ শিখছি।");
            writer.close();
            System.out.println("ডেটা সফলভাবে লেখা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

FileReader উদাহরণ:

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

public class FileReaderExample {
    public static void main(String[] args) {
        try {
            FileReader reader = new FileReader("output.txt");
            int character;
            while ((character = reader.read()) != -1) {
                System.out.print((char) character);
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. BufferedReader এবং BufferedWriter

BufferedReader এবং BufferedWriter ক্লাসগুলো ডেটা পড়া এবং লেখা করার সময় বাফারিং করে, যা I/O অপারেশনের সময় ডেটা দ্রুত প্রসেস করতে সাহায্য করে।

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("output.txt"));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

BufferedWriter উদাহরণ:

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

public class BufferedWriterExample {
    public static void main(String[] args) {
        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt", true));
            writer.write("\nএই লাইনটি বাফারিং করে লেখা হচ্ছে।");
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4. InputStream এবং OutputStream

InputStream এবং OutputStream ক্লাসগুলো বাইনারি ডেটা পড়া এবং লেখা করার জন্য ব্যবহৃত হয়। এগুলো ফাইল, নেটওয়ার্ক স্ট্রিম, এবং অন্যান্য উৎস থেকে বাইনারি ডেটা প্রসেস করে।

FileInputStream উদাহরণ:

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamExample {
    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("example.txt");
            int byteData;
            while ((byteData = fis.read()) != -1) {
                System.out.print((char) byteData);
            }
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

FileOutputStream উদাহরণ:

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamExample {
    public static void main(String[] args) {
        try {
            FileOutputStream fos = new FileOutputStream("example.txt");
            String text = "Java I/O দিয়ে কাজ করছি!";
            fos.write(text.getBytes());
            fos.close();
            System.out.println("ডেটা সফলভাবে লেখা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

5. ObjectInputStream এবং ObjectOutputStream

এই ক্লাসগুলো অবজেক্ট সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন এর জন্য ব্যবহৃত হয়। অবজেক্টকে ফাইল বা নেটওয়ার্ক স্ট্রিমে লেখার জন্য এবং তা পুনরায় অবজেক্টে রূপান্তরিত করার জন্য এই ক্লাসগুলো ব্যবহৃত হয়।

ObjectOutputStream উদাহরণ:

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.io.IOException;

class Student implements Serializable {
    private String name;
    private int roll;

    public Student(String name, int roll) {
        this.name = name;
        this.roll = roll;
    }
}

public class ObjectOutputStreamExample {
    public static void main(String[] args) {
        try {
            FileOutputStream fileOut = new FileOutputStream("student.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileOut);
            Student student = new Student("রাকিব", 101);
            out.writeObject(student);
            out.close();
            fileOut.close();
            System.out.println("অবজেক্ট সফলভাবে সিরিয়ালাইজ করা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ObjectInputStream উদাহরণ:

import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.IOException;

public class ObjectInputStreamExample {
    public static void main(String[] args) {
        try {
            FileInputStream fileIn = new FileInputStream("student.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            Student student = (Student) in.readObject();
            in.close();
            fileIn.close();
            System.out.println("অবজেক্ট সফলভাবে ডেসিরিয়ালাইজ করা হয়েছে!");
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

6. PrintWriter ক্লাস

PrintWriter ক্লাসটি আউটপুট করা সহজ করে এবং এটি টেক্সট আউটপুটের জন্য খুবই উপযোগী।

PrintWriter উদাহরণ:

import java.io.PrintWriter;
import java.io.IOException;

public class PrintWriterExample {
    public static void main(String[] args) {
        try {
            PrintWriter writer = new PrintWriter("output.txt");
            writer.println("Java I/O প্যাকেজ");
            writer.println("PrintWriter দিয়ে লেখা হচ্ছে।");
            writer.close();
            System.out.println("ডেটা সফলভাবে লেখা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

উপসংহার:

java.io প্যাকেজটি জাভার অন্যতম গুরুত্বপূর্ণ প্যাকেজ, যা দিয়ে বিভিন্ন ধরণের I/O অপারেশন করা সম্ভব। File, FileReader, FileWriter, BufferedReader, BufferedWriter, InputStream, OutputStream এর মতো বিভিন্ন ক্লাস এবং মেথড ব্যবহার করে জাভায় ফাইল ম্যানিপুলেশন, ডেটা পড়া ও লেখা, এবং অবজেক্ট সিরিয়ালাইজেশন করা খুবই সহজ।

java.io package হলো Java প্রোগ্রামিং ভাষায় ব্যবহৃত একটি গুরুত্বপূর্ণ প্যাকেজ, যা ইনপুট এবং আউটপুট অপারেশন পরিচালনা করার জন্য প্রয়োজনীয় বিভিন্ন ক্লাস এবং ইন্টারফেস সরবরাহ করে। এই প্যাকেজের মাধ্যমে আপনি ফাইল, ডেটা স্ট্রিম, সিরিয়ালাইজেশন, এবং নেটওয়ার্ক কানেকশন এর মতো ইনপুট এবং আউটপুট সম্পর্কিত কাজগুলো সম্পন্ন করতে পারেন। এটি স্ট্যান্ডার্ড ইনপুট (keyboard), আউটপুট (console), এবং ফাইল সিস্টেমের সঙ্গে কাজ করার সুবিধা দেয়।


Java I/O প্যাকেজ (java.io) বাংলা টিউটোরিয়াল

Java এর java.io প্যাকেজটি ইনপুট এবং আউটপুট (I/O) সংক্রান্ত বিভিন্ন কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়। এই প্যাকেজটি ফাইল, ডেটা স্ট্রিম এবং সিরিয়ালাইজেশন (Serialization) এর মতো অপারেশন পরিচালনা করতে সাহায্য করে। এটি এমন একটি প্যাকেজ যা দিয়ে আপনি ফাইল পড়তে এবং লিখতে, নেটওয়ার্কের মাধ্যমে ডেটা আদান-প্রদান করতে পারেন।

Java I/O প্যাকেজের প্রধান ক্লাসগুলো:

  • File: ফাইল এবং ডিরেক্টরির তথ্য এবং পরিচালনা।
  • FileReader এবং FileWriter: ফাইল থেকে চরিত্র (character) ইনপুট এবং আউটপুট।
  • BufferedReader এবং BufferedWriter: ডেটা বাফারিং এবং অধিক কার্যক্ষমতা।
  • InputStream এবং OutputStream: বাইনারি ডেটা পড়া এবং লেখা।
  • ObjectInputStream এবং ObjectOutputStream: অবজেক্ট সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন।
  • PrintWriter: পাঠ্য আউটপুট করার জন্য সহজ এবং ফ্লেক্সিবল টুল।

1. File ক্লাস

File ক্লাসটি ফাইল এবং ডিরেক্টরি নিয়ে কাজ করে। এর মাধ্যমে ফাইল তৈরি, মুছে ফেলা, নাম পরিবর্তন, এবং ডিরেক্টরি চালনা করা যায়।

উদাহরণ:

import java.io.File;

public class FileExample {
    public static void main(String[] args) {
        // File অবজেক্ট তৈরি
        File file = new File("example.txt");

        // ফাইলের বৈশিষ্ট্য যাচাই
        if (file.exists()) {
            System.out.println("ফাইলের নাম: " + file.getName());
            System.out.println("ফাইলের পথ: " + file.getAbsolutePath());
            System.out.println("ফাইলের আকার: " + file.length() + " bytes");
        } else {
            System.out.println("ফাইলটি পাওয়া যায়নি!");
        }
    }
}

কিছু সাধারণ ফাইল অপারেশন:

  • exists(): ফাইল বা ডিরেক্টরি বিদ্যমান কিনা তা পরীক্ষা করে।
  • createNewFile(): একটি নতুন ফাইল তৈরি করে।
  • delete(): ফাইল বা ডিরেক্টরি মুছে ফেলে।
  • mkdir(): একটি নতুন ডিরেক্টরি তৈরি করে।

2. FileReader এবং FileWriter ক্লাস

এই ক্লাসগুলো ফাইল থেকে ডেটা পড়া এবং লেখা করার জন্য ব্যবহৃত হয়। FileReader ফাইল থেকে ডেটা পড়ে এবং 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("Java I/O প্যাকেজ শিখছি।");
            writer.close();
            System.out.println("ডেটা সফলভাবে লেখা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

FileReader উদাহরণ:

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

public class FileReaderExample {
    public static void main(String[] args) {
        try {
            FileReader reader = new FileReader("output.txt");
            int character;
            while ((character = reader.read()) != -1) {
                System.out.print((char) character);
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. BufferedReader এবং BufferedWriter

BufferedReader এবং BufferedWriter ক্লাসগুলো ডেটা পড়া এবং লেখা করার সময় বাফারিং করে, যা I/O অপারেশনের সময় ডেটা দ্রুত প্রসেস করতে সাহায্য করে।

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("output.txt"));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

BufferedWriter উদাহরণ:

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

public class BufferedWriterExample {
    public static void main(String[] args) {
        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt", true));
            writer.write("\nএই লাইনটি বাফারিং করে লেখা হচ্ছে।");
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4. InputStream এবং OutputStream

InputStream এবং OutputStream ক্লাসগুলো বাইনারি ডেটা পড়া এবং লেখা করার জন্য ব্যবহৃত হয়। এগুলো ফাইল, নেটওয়ার্ক স্ট্রিম, এবং অন্যান্য উৎস থেকে বাইনারি ডেটা প্রসেস করে।

FileInputStream উদাহরণ:

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamExample {
    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("example.txt");
            int byteData;
            while ((byteData = fis.read()) != -1) {
                System.out.print((char) byteData);
            }
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

FileOutputStream উদাহরণ:

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamExample {
    public static void main(String[] args) {
        try {
            FileOutputStream fos = new FileOutputStream("example.txt");
            String text = "Java I/O দিয়ে কাজ করছি!";
            fos.write(text.getBytes());
            fos.close();
            System.out.println("ডেটা সফলভাবে লেখা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

5. ObjectInputStream এবং ObjectOutputStream

এই ক্লাসগুলো অবজেক্ট সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন এর জন্য ব্যবহৃত হয়। অবজেক্টকে ফাইল বা নেটওয়ার্ক স্ট্রিমে লেখার জন্য এবং তা পুনরায় অবজেক্টে রূপান্তরিত করার জন্য এই ক্লাসগুলো ব্যবহৃত হয়।

ObjectOutputStream উদাহরণ:

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.io.IOException;

class Student implements Serializable {
    private String name;
    private int roll;

    public Student(String name, int roll) {
        this.name = name;
        this.roll = roll;
    }
}

public class ObjectOutputStreamExample {
    public static void main(String[] args) {
        try {
            FileOutputStream fileOut = new FileOutputStream("student.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileOut);
            Student student = new Student("রাকিব", 101);
            out.writeObject(student);
            out.close();
            fileOut.close();
            System.out.println("অবজেক্ট সফলভাবে সিরিয়ালাইজ করা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ObjectInputStream উদাহরণ:

import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.IOException;

public class ObjectInputStreamExample {
    public static void main(String[] args) {
        try {
            FileInputStream fileIn = new FileInputStream("student.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            Student student = (Student) in.readObject();
            in.close();
            fileIn.close();
            System.out.println("অবজেক্ট সফলভাবে ডেসিরিয়ালাইজ করা হয়েছে!");
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

6. PrintWriter ক্লাস

PrintWriter ক্লাসটি আউটপুট করা সহজ করে এবং এটি টেক্সট আউটপুটের জন্য খুবই উপযোগী।

PrintWriter উদাহরণ:

import java.io.PrintWriter;
import java.io.IOException;

public class PrintWriterExample {
    public static void main(String[] args) {
        try {
            PrintWriter writer = new PrintWriter("output.txt");
            writer.println("Java I/O প্যাকেজ");
            writer.println("PrintWriter দিয়ে লেখা হচ্ছে।");
            writer.close();
            System.out.println("ডেটা সফলভাবে লেখা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

উপসংহার:

java.io প্যাকেজটি জাভার অন্যতম গুরুত্বপূর্ণ প্যাকেজ, যা দিয়ে বিভিন্ন ধরণের I/O অপারেশন করা সম্ভব। File, FileReader, FileWriter, BufferedReader, BufferedWriter, InputStream, OutputStream এর মতো বিভিন্ন ক্লাস এবং মেথড ব্যবহার করে জাভায় ফাইল ম্যানিপুলেশন, ডেটা পড়া ও লেখা, এবং অবজেক্ট সিরিয়ালাইজেশন করা খুবই সহজ।

Promotion

Are you sure to start over?

Loading...