java.io প্যাকেজ হল Java-র একটি গুরুত্বপূর্ণ প্যাকেজ যা ইনপুট এবং আউটপুট (I/O) অপারেশন পরিচালনা করার জন্য ব্যবহৃত হয়। এই প্যাকেজটি ফাইল এবং ডেটা স্ট্রিম এর মাধ্যমে ডেটা পড়া এবং লেখা, ডেটা স্টোরেজ, ফাইল পরিচালনা, এবং অন্যান্য I/O কার্যক্রমের জন্য বিভিন্ন ক্লাস এবং ইন্টারফেস সরবরাহ করে।
Java.io প্যাকেজের মাধ্যমে আপনি ফাইল, নেটওয়ার্ক, এবং মেমোরি সহ বিভিন্ন উৎস এবং গন্তব্যে ডেটা পাঠানো বা গ্রহণ করতে পারেন।
java.io প্যাকেজের প্রধান ফিচার:
- Streams:
- Streams একটি ধারাবাহিক ডেটা প্রবাহ যা উৎস থেকে গন্তব্যে ডেটা পাঠানোর কাজ করে। স্ট্রিম দুই ধরনের হতে পারে:
- Byte Streams: বাইনারি ডেটার জন্য ব্যবহৃত হয় (যেমন
InputStreamএবংOutputStream)। - Character Streams: টেক্সট ডেটার জন্য ব্যবহৃত হয় (যেমন
ReaderএবংWriter)।
- Byte Streams: বাইনারি ডেটার জন্য ব্যবহৃত হয় (যেমন
- Streams একটি ধারাবাহিক ডেটা প্রবাহ যা উৎস থেকে গন্তব্যে ডেটা পাঠানোর কাজ করে। স্ট্রিম দুই ধরনের হতে পারে:
- File Handling:
- ফাইল সম্পর্কিত বিভিন্ন কার্যক্রম যেমন ফাইল তৈরি করা, ফাইলের কন্টেন্ট পড়া এবং লেখা, ফাইলের আকার বা তথ্য পরীক্ষা করা ইত্যাদি করতে ব্যবহৃত হয়।
- Data Streams:
- ডেটা স্ট্রিমের মাধ্যমে primitive data types (যেমন
int,float,boolean, ইত্যাদি) স্ট্রিমে পাঠানো বা গ্রহণ করা যায়।
- ডেটা স্ট্রিমের মাধ্যমে primitive data types (যেমন
- Object Streams:
- ObjectInputStream এবং ObjectOutputStream ব্যবহার করে অবজেক্টের স্ট্রিম পাঠানো এবং গ্রহণ করা সম্ভব হয়। এটি serialization এবং deserialization এর জন্য ব্যবহৃত হয়।
Java.io প্যাকেজের ক্লাস এবং ইন্টারফেস
1. Streams:
- InputStream এবং OutputStream: বাইনারি ডেটা পড়া এবং লেখার জন্য ব্যবহৃত হয়।
- Reader এবং Writer: টেক্সট ডেটা পড়া এবং লেখার জন্য ব্যবহৃত হয়।
2. File Handling:
- File: ফাইল সম্পর্কিত বিভিন্ন অপারেশন করতে ব্যবহৃত হয়, যেমন ফাইলের নাম, আকার, পাথ চেক করা।
- FileReader এবং FileWriter: টেক্সট ফাইল পড়া এবং লেখা।
3. Data Streams:
- DataInputStream এবং DataOutputStream: primitive ডেটা টাইপ পড়া এবং লেখার জন্য ব্যবহৃত হয়।
4. Object Streams:
- ObjectInputStream এবং ObjectOutputStream: অবজেক্ট সিরিয়ালাইজ এবং ডিসিরিয়ালাইজ করার জন্য ব্যবহৃত হয়।
Java.io প্যাকেজের ব্যবহার উদাহরণ
1. File I/O (Reading from and Writing to Files):
import java.io.*;
public class FileIOExample {
public static void main(String[] args) {
// Writing to a file
try (FileWriter writer = new FileWriter("example.txt")) {
writer.write("Hello, this is a test file.");
} catch (IOException e) {
e.printStackTrace();
}
// Reading from the file
try (FileReader reader = new FileReader("example.txt")) {
int data;
while ((data = reader.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
ব্যাখ্যা:
- FileWriter ব্যবহার করে ফাইল তৈরি এবং লেখার কাজ করা হয়েছে।
- FileReader ব্যবহার করে ফাইল থেকে ডেটা পড়া হয়েছে।
2. Data Streams (Reading and Writing Primitive Data Types):
import java.io.*;
public class DataStreamExample {
public static void main(String[] args) {
// Writing primitive data
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.bin"))) {
dos.writeInt(42);
dos.writeDouble(3.14);
dos.writeBoolean(true);
} catch (IOException e) {
e.printStackTrace();
}
// Reading primitive data
try (DataInputStream dis = new DataInputStream(new FileInputStream("data.bin"))) {
int intValue = dis.readInt();
double doubleValue = dis.readDouble();
boolean boolValue = dis.readBoolean();
System.out.println("Int: " + intValue);
System.out.println("Double: " + doubleValue);
System.out.println("Boolean: " + boolValue);
} catch (IOException e) {
e.printStackTrace();
}
}
}
ব্যাখ্যা:
- DataOutputStream এবং DataInputStream ব্যবহার করে primitive ডেটা টাইপ যেমন
int,double, এবংbooleanস্টোর এবং রিড করা হয়েছে।
3. Object Streams (Serialization and Deserialization):
import java.io.*;
public class ObjectStreamExample {
public static void main(String[] args) {
// Serializing object to file
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.dat"))) {
Person person = new Person("John", 25);
oos.writeObject(person);
} catch (IOException e) {
e.printStackTrace();
}
// Deserializing object from file
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.dat"))) {
Person person = (Person) ois.readObject();
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
class Person implements Serializable {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
ব্যাখ্যা:
- ObjectOutputStream এবং ObjectInputStream ব্যবহার করে অবজেক্ট সিরিয়ালাইজ এবং ডিসিরিয়ালাইজ করা হয়েছে।
- Person ক্লাসটি Serializable ইন্টারফেস ইমপ্লিমেন্ট করে।
Java.io প্যাকেজের সুবিধা:
- Flexible I/O Handling: Java I/O প্যাকেজের মাধ্যমে আপনি বাইনারি এবং টেক্সট ডেটা উভয়ই পরিচালনা করতে পারেন।
- Stream-based I/O: Java Streams আপনাকে ধারাবাহিকভাবে ডেটা পড়া এবং লেখা করার সুবিধা দেয়।
- Cross-Platform Compatibility: Java I/O প্যাকেজের মাধ্যমে কোড লেখা হয়, যা cross-platform হতে পারে এবং বিভিন্ন অপারেটিং সিস্টেমে কাজ করবে।
- Built-in File Management: ফাইল এবং ডিরেক্টরি সম্পর্কিত সমস্ত সাধারণ কার্যক্রম সোজা ভাবে করা যায়।
Java.io প্যাকেজ হল Java-র একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা ফাইল এবং অন্যান্য I/O অপারেশনকে সহজ এবং কার্যকরীভাবে পরিচালনা করতে সহায়ক। এতে Streams, File Handling, Data Streams, এবং Object Streams এর মাধ্যমে ডেটা প্রক্রিয়াকরণ করা হয়, যা ডেটা স্টোরেজ, ফাইল পরিচালনা, এবং অন্যান্য I/O কার্যক্রমের জন্য অপরিহার্য।
এই প্যাকেজটির মাধ্যমে আপনি ফাইল পড়া, লেখা, ডেটা সিকিউরিটি (যেমন সেভ করা অবজেক্ট), কম্প্রেসড ফাইল পড়া এবং লেখার মতো কাজগুলো কার্যকরীভাবে করতে পারবেন।
Read more