Skill

প্রিমিটিভ ডেটা টাইপ পড়া এবং লেখা (int, float, boolean, ইত্যাদি)

DataInputStream এবং DataOutputStream - জাভা আইও (Java.io Package) - Java Technologies

259

Java.io প্যাকেজে, প্রিমিটিভ ডেটা টাইপ যেমন int, float, boolean ইত্যাদি পড়া এবং লেখা করার জন্য DataInputStream এবং DataOutputStream ক্লাস দুটি ব্যবহৃত হয়। এই ক্লাসগুলো বাইনারি ফরম্যাটে ডেটা পড়তে এবং লিখতে সক্ষম, এবং এটি বিশেষভাবে ব্যবহার করা হয় যখন আপনি বিভিন্ন প্রিমিটিভ ডেটা টাইপ (যেমন int, float, boolean ইত্যাদি) ফাইল বা স্ট্রিমে পরিচালনা করতে চান।

  • DataInputStream: এটি একটি ক্লাস যা প্রিমিটিভ ডেটা টাইপ পড়ে (যেমন int, float, boolean, ইত্যাদি)।
  • DataOutputStream: এটি একটি ক্লাস যা প্রিমিটিভ ডেটা টাইপ লেখে (যেমন int, float, boolean, ইত্যাদি)।

এগুলি byte streams যা বাইনারি ডেটা পড়তে এবং লিখতে ব্যবহৃত হয়, এবং এটি stream-based ডেটা প্রক্রিয়াকরণের জন্য উপযুক্ত।


DataInputStream এবং DataOutputStream এর মেথড:

  • DataOutputStream:
    • writeInt(int v): একটি int ডেটা লেখে।
    • writeFloat(float v): একটি float ডেটা লেখে।
    • writeBoolean(boolean v): একটি boolean ডেটা লেখে।
    • writeUTF(String str): একটি UTF স্ট্রিং লেখে।
  • DataInputStream:
    • readInt(): একটি int ডেটা পড়ে।
    • readFloat(): একটি float ডেটা পড়ে।
    • readBoolean(): একটি boolean ডেটা পড়ে।
    • readUTF(): একটি UTF স্ট্রিং পড়ে।

Primitives Data Type পড়া এবং লেখা উদাহরণ

১. DataOutputStream দিয়ে প্রিমিটিভ ডেটা লেখা

এই উদাহরণে DataOutputStream ব্যবহার করে বিভিন্ন প্রিমিটিভ ডেটা (যেমন int, float, boolean) ফাইলে লেখা হচ্ছে।

import java.io.*;

public class DataOutputStreamExample {
    public static void main(String[] args) {
        // FileOutputStream এর মাধ্যমে DataOutputStream তৈরি করা হচ্ছে
        try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("output.dat"))) {
            
            int intValue = 42;
            float floatValue = 3.14f;
            boolean boolValue = true;
            String stringValue = "Hello, World!";
            
            // Primitives লেখার জন্য DataOutputStream ব্যবহার করা হচ্ছে
            dos.writeInt(intValue);     // Integer লেখার জন্য
            dos.writeFloat(floatValue); // Float লেখার জন্য
            dos.writeBoolean(boolValue); // Boolean লেখার জন্য
            dos.writeUTF(stringValue);  // String লেখার জন্য
            
            System.out.println("Primitives written to file.");
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • writeInt(), writeFloat(), writeBoolean(), এবং writeUTF() মেথডগুলি প্রিমিটিভ ডেটা টাইপ ফাইলে লেখার জন্য ব্যবহৃত হচ্ছে।
  • এই ডেটাগুলি output.dat নামক ফাইলে লেখা হচ্ছে।

আউটপুট:

Primitives written to file.

২. DataInputStream দিয়ে প্রিমিটিভ ডেটা পড়া

এখন, DataInputStream ব্যবহার করে output.dat ফাইল থেকে আগের মতো int, float, boolean, এবং String ডেটা পড়া হচ্ছে।

import java.io.*;

public class DataInputStreamExample {
    public static void main(String[] args) {
        // FileInputStream এর মাধ্যমে DataInputStream তৈরি করা হচ্ছে
        try (DataInputStream dis = new DataInputStream(new FileInputStream("output.dat"))) {
            
            // Primitives পড়ার জন্য DataInputStream ব্যবহার করা হচ্ছে
            int intValue = dis.readInt();      // Integer পড়া
            float floatValue = dis.readFloat(); // Float পড়া
            boolean boolValue = dis.readBoolean(); // Boolean পড়া
            String stringValue = dis.readUTF(); // String পড়া
            
            // পড়া ডেটা প্রদর্শন করা হচ্ছে
            System.out.println("Integer: " + intValue);
            System.out.println("Float: " + floatValue);
            System.out.println("Boolean: " + boolValue);
            System.out.println("String: " + stringValue);
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • readInt(), readFloat(), readBoolean(), এবং readUTF() মেথডগুলি ফাইল থেকে প্রিমিটিভ ডেটা টাইপ পড়ার জন্য ব্যবহৃত হচ্ছে।
  • এই উদাহরণে, output.dat ফাইল থেকে int, float, boolean, এবং String পড়া হচ্ছে।

আউটপুট (যদি output.dat ফাইলে পূর্বে লেখা ডেটা থাকে):

Integer: 42
Float: 3.14
Boolean: true
String: Hello, World!

DataOutputStream এবং DataInputStream এর সুবিধা এবং সীমাবদ্ধতা

সুবিধা:

  1. প্রিমিটিভ ডেটা টাইপের দ্রুত পড়া এবং লেখা:
    • DataOutputStream এবং DataInputStream প্রিমিটিভ ডেটা টাইপের দ্রুত পড়া এবং লেখার জন্য খুবই কার্যকরী।
  2. Binary Format:
    • এই ক্লাসগুলি বাইনারি ফরম্যাটে ডেটা পরিচালনা করে, ফলে আপনি বড় ডেটা দ্রুত এবং কার্যকরভাবে লিখতে এবং পড়তে পারবেন।
  3. Ease of Use:
    • প্রিমিটিভ ডেটা টাইপগুলি DataOutputStream এবং DataInputStream এর মাধ্যমে সহজে এবং সরাসরি পড়া এবং লেখা যায়।

সীমাবদ্ধতা:

  1. ফাইল সাইজ:
    • যদি ডেটা খুব বড় হয়, তবে DataOutputStream এবং DataInputStream বাইনারি ফরম্যাটে ফাইল সাইজ বাড়াতে পারে। এটি কম্প্রেসড ফরম্যাটে ডেটা সংরক্ষণের জন্য উপযুক্ত নয়।
  2. Unicode/Character Encoding:
    • যদি টেক্সট ডেটা UTF-8 বা UTF-16 ফরম্যাটে এনকোড করা থাকে, তবে DataOutputStream এবং DataInputStream সঠিকভাবে এসব সাপোর্ট নাও করতে পারে, তবে writeUTF() এবং readUTF() মেথডগুলি সঠিক Unicode ফরম্যাটের জন্য সমর্থন প্রদান করে।

  • DataOutputStream এবং DataInputStream Java-তে প্রিমিটিভ ডেটা টাইপ (যেমন int, float, boolean) পড়া এবং লেখা করার জন্য ব্যবহৃত হয়।
  • DataOutputStream ডেটা লেখার জন্য এবং DataInputStream ডেটা পড়ার জন্য একটি দ্রুত এবং কার্যকর উপায় প্রদান করে।
  • এই দুটি ক্লাস বাইনারি ডেটা পড়া এবং লেখার জন্য খুবই কার্যকরী, বিশেষ করে যখন আপনি large datasets বা structured binary formats ম্যানিপুলেট করতে চান।
  • DataOutputStream এবং DataInputStream এর সুবিধা হল এটি দ্রুত ডেটা স্থানান্তর করতে সাহায্য করে, তবে কিছু সীমাবদ্ধতা যেমন file size বা character encoding সমস্যা থাকতে পারে।
Content added By
Promotion

Are you sure to start over?

Loading...