DataInputStream এবং DataOutputStream হল Java I/O ক্লাস যা প্রিমিটিভ ডেটা টাইপ (যেমন int, float, boolean, ইত্যাদি) পড়া এবং লেখা করতে ব্যবহৃত হয়। এই ক্লাসগুলির সাহায্যে আপনি বাইনারি ফরম্যাটে ডেটা স্ট্রিমের মাধ্যমে সরাসরি পড়তে এবং লিখতে পারেন।
- DataInputStream: ডেটার বাইনারি ফরম্যাট থেকে প্রিমিটিভ ডেটা টাইপ পড়তে ব্যবহৃত।
- DataOutputStream: প্রিমিটিভ ডেটা টাইপের ডেটা বাইনারি ফরম্যাটে লেখা।
এগুলি টেক্সট ডেটার পরিবর্তে বাইনারি ডেটা ম্যানিপুলেট করার জন্য ব্যবহৃত হয় এবং ডেটাকে নির্দিষ্ট আকারে (ফিক্সড সাইজ) ফাইল বা স্ট্রিমে লেখার সুবিধা দেয়।
DataInputStream এর ভূমিকা
DataInputStream ক্লাস বিভিন্ন প্রিমিটিভ ডেটা টাইপ (যেমন int, float, double, boolean ইত্যাদি) স্ট্রিম থেকে পড়ার জন্য ব্যবহৃত হয়। এটি সাধারণত ফাইল, নেটওয়ার্ক, অথবা মেমরি থেকে বাইনারি ডেটা পড়তে ব্যবহৃত হয়।
DataInputStream এর গুরুত্বপূর্ণ মেথড:
readInt(): স্ট্রিম থেকে একটিintমান পড়ে।readFloat(): স্ট্রিম থেকে একটিfloatমান পড়ে।readBoolean(): স্ট্রিম থেকে একটিbooleanমান পড়ে।readUTF(): স্ট্রিম থেকে একটি UTF স্ট্রিং পড়ে।
DataOutputStream এর ভূমিকা
DataOutputStream ক্লাস বিভিন্ন প্রিমিটিভ ডেটা টাইপ (যেমন int, float, double, boolean ইত্যাদি) স্ট্রিমে লেখার জন্য ব্যবহৃত হয়। এটি বাইনারি ফরম্যাটে ডেটা লেখে।
DataOutputStream এর গুরুত্বপূর্ণ মেথড:
writeInt(int v): একটিintমান স্ট্রিমে লেখে।writeFloat(float v): একটিfloatমান স্ট্রিমে লেখে।writeBoolean(boolean v): একটিbooleanমান স্ট্রিমে লেখে।writeUTF(String str): একটি UTF স্ট্রিং স্ট্রিমে লেখে।
DataInputStream এবং DataOutputStream এর উদাহরণ
১. DataOutputStream এর মাধ্যমে ডেটা লেখা এবং DataInputStream এর মাধ্যমে ডেটা পড়া
কোড উদাহরণ:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataStreamExample {
public static void main(String[] args) {
// ডেটা লেখার জন্য DataOutputStream ব্যবহার
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt"))) {
// বিভিন্ন প্রিমিটিভ ডেটা টাইপ লেখা
dos.writeInt(123); // int
dos.writeFloat(3.14f); // float
dos.writeBoolean(true); // boolean
dos.writeUTF("Hello World!"); // String (UTF format)
System.out.println("Data written successfully to data.txt");
} catch (IOException e) {
e.printStackTrace();
}
// ডেটা পড়ার জন্য DataInputStream ব্যবহার
try (DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"))) {
// DataInputStream থেকে ডেটা পড়া
int intValue = dis.readInt(); // int
float floatValue = dis.readFloat(); // float
boolean booleanValue = dis.readBoolean(); // boolean
String stringValue = dis.readUTF(); // String (UTF format)
// পড়া ডেটা প্রিন্ট করা
System.out.println("Read values from file:");
System.out.println("int: " + intValue);
System.out.println("float: " + floatValue);
System.out.println("boolean: " + booleanValue);
System.out.println("String: " + stringValue);
} catch (IOException e) {
e.printStackTrace();
}
}
}
আউটপুট:
Data written successfully to data.txt
Read values from file:
int: 123
float: 3.14
boolean: true
String: Hello World!
Tuples ব্যবহার করে DataStream এর প্রোপার্টি সংরক্ষণ
Java Tuples ব্যবহার করে আমরা বিভিন্ন প্রিমিটিভ ডেটা টাইপের মান একত্রে সংরক্ষণ করতে পারি। এখানে একটি Tuple ব্যবহার করা হয়েছে ফাইলের ডেটা এবং তার আকার একত্রে স্টোর করার জন্য।
কোড উদাহরণ:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.lang3.tuple.Pair;
public class TupleDataStreamExample {
public static void main(String[] args) {
// ডেটা লেখার জন্য DataOutputStream ব্যবহার
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt"))) {
// Tuple (Pair) এর মধ্যে ডেটা লিখা
dos.writeInt(123); // int
dos.writeFloat(3.14f); // float
dos.writeBoolean(true); // boolean
dos.writeUTF("Hello World!"); // String (UTF format)
System.out.println("Data written to data.txt using DataOutputStream");
} catch (IOException e) {
e.printStackTrace();
}
// ডেটা পড়ার জন্য DataInputStream ব্যবহার
try (DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"))) {
// DataInputStream থেকে ডেটা পড়া
int intValue = dis.readInt();
float floatValue = dis.readFloat();
boolean booleanValue = dis.readBoolean();
String stringValue = dis.readUTF();
// Tuple (Pair) এর মধ্যে ডেটা সংরক্ষণ
Pair<String, Integer> fileInfo = new Pair<>("File Data", 123);
// পড়া ডেটা এবং Tuple প্রিন্ট
Read more