Skill

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

DataInputStream এবং DataOutputStream - জাভা টাপল (Java Tuples) - Java Technologies

341

Java-তে প্রিমিটিভ ডেটা টাইপ (যেমন int, float, boolean, ইত্যাদি) পড়া এবং লেখা একটি গুরুত্বপূর্ণ কাজ, বিশেষ করে যখন আপনি বাইনারি বা টেক্সট ফাইলের সাথে কাজ করছেন। Java Tuples ব্যবহার করে এই প্রিমিটিভ ডেটা টাইপগুলিকে Java I/O স্ট্রিম এর মাধ্যমে পড়া এবং লেখা সহজে করা যায়।

Java FileInputStream এবং FileOutputStream ব্যবহার করে আমরা বাইনারি ফাইল থেকে প্রিমিটিভ ডেটা পড়তে এবং লিখতে পারি। তবে, DataInputStream এবং DataOutputStream ক্লাসগুলি প্রিমিটিভ ডেটা টাইপের পড়া এবং লেখা আরও সহজ এবং কার্যকর করতে ব্যবহৃত হয়।

DataInputStream এবং DataOutputStream ক্লাস

  • DataInputStream এবং DataOutputStream ক্লাস ব্যবহার করে আপনি প্রিমিটিভ ডেটা টাইপ (যেমন int, float, boolean, double, ইত্যাদি) পড়তে এবং লেখতে পারেন।
  • এই ক্লাসগুলো binary data স্টোরেজ এবং cross-platform কার্যকারিতা নিশ্চিত করতে সাহায্য করে।

DataOutputStream (প্রিমিটিভ ডেটা লেখার জন্য)

  • writeInt(int v): একটি int লিখে।
  • writeFloat(float v): একটি float লিখে।
  • writeBoolean(boolean v): একটি boolean লিখে।
  • writeDouble(double v): একটি double লিখে।

DataInputStream (প্রিমিটিভ ডেটা পড়ার জন্য)

  • readInt(): একটি int পড়ে।
  • readFloat(): একটি float পড়ে।
  • readBoolean(): একটি boolean পড়ে।
  • readDouble(): একটি double পড়ে।

প্রিমিটিভ ডেটা টাইপ পড়া এবং লেখা: উদাহরণ

১. প্রিমিটিভ ডেটা লেখার উদাহরণ (DataOutputStream)

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

public class PrimitiveDataWriteExample {
    public static void main(String[] args) {
        try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.dat"))) {
            // প্রিমিটিভ ডেটা টাইপ লেখা
            dos.writeInt(123);        // লিখলাম একটি int
            dos.writeFloat(3.14f);    // লিখলাম একটি float
            dos.writeBoolean(true);   // লিখলাম একটি boolean
            dos.writeDouble(3.14159); // লিখলাম একটি double

            System.out.println("Primitive data written successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এই কোডে:

  • writeInt() দিয়ে একটি int ফাইলের মধ্যে লেখা হয়।
  • writeFloat() দিয়ে একটি float লেখা হয়।
  • writeBoolean() দিয়ে একটি boolean লেখা হয়।
  • writeDouble() দিয়ে একটি double লেখা হয়।

২. প্রিমিটিভ ডেটা পড়ার উদাহরণ (DataInputStream)

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

public class PrimitiveDataReadExample {
    public static void main(String[] args) {
        try (DataInputStream dis = new DataInputStream(new FileInputStream("data.dat"))) {
            // প্রিমিটিভ ডেটা টাইপ পড়া
            int i = dis.readInt();        // পড়লাম একটি int
            float f = dis.readFloat();    // পড়লাম একটি float
            boolean b = dis.readBoolean(); // পড়লাম একটি boolean
            double d = dis.readDouble();  // পড়লাম একটি double

            System.out.println("Read Data:");
            System.out.println("int: " + i);
            System.out.println("float: " + f);
            System.out.println("boolean: " + b);
            System.out.println("double: " + d);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এই কোডে:

  • readInt() দিয়ে একটি int পড়া হয়।
  • readFloat() দিয়ে একটি float পড়া হয়।
  • readBoolean() দিয়ে একটি boolean পড়া হয়।
  • readDouble() দিয়ে একটি double পড়া হয়।

Java Tuples ব্যবহার করে প্রিমিটিভ ডেটা স্টোর করা

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 TuplePrimitiveDataExample {
    public static void main(String[] args) {
        // ফাইলের প্রিমিটিভ ডেটা লেখার জন্য
        writePrimitiveData("data.dat");

        // ফাইল থেকে প্রিমিটিভ ডেটা পড়া এবং Tuple এ সংরক্ষণ
        Pair<String, Integer> fileData = readPrimitiveData("data.dat");
        System.out.println("File Name: " + fileData.getLeft());
        System.out.println("File Size: " + fileData.getRight() + " bytes");
    }

    public static void writePrimitiveData(String filename) {
        try (DataOutputStream dos = new DataOutputStream(new FileOutputStream(filename))) {
            dos.writeInt(123);        // লিখলাম একটি int
            dos.writeFloat(3.14f);    // লিখলাম একটি float
            dos.writeBoolean(true);   // লিখলাম একটি boolean
            dos.writeDouble(3.14159); // লিখলাম একটি double
            System.out.println("Primitive data written to " + filename);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static Pair<String, Integer> readPrimitiveData(String filename) {
        int fileSize = 0;
        try (DataInputStream dis = new DataInputStream(new FileInputStream(filename))) {
            int i = dis.readInt();        // পড়লাম একটি int
            float f = dis.readFloat();    // পড়লাম একটি float
            boolean b = dis.readBoolean(); // পড়লাম একটি boolean
            double d = dis.readDouble();  // পড়লাম একটি double

            // ফাইলের সাইজ নির্ধারণ
            fileSize = (int) new java.io.File(filename).length();

            System.out.println("Read Data:");
            System.out.println("int: " + i);
            System.out.println("float: " + f);
            System.out.println("boolean: " + b);
            System.out.println("double: " + d);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return Pair.of(filename, fileSize);
    }
}

এই উদাহরণে:

  • Tuple এর মাধ্যমে ফাইলের নাম এবং সাইজ সংরক্ষণ করা হয় এবং পরবর্তীতে readPrimitiveData() মেথডে ফিরে আসে।
  • DataOutputStream ব্যবহার করে প্রিমিটিভ ডেটা ফাইলে লেখা হয়।
  • DataInputStream ব্যবহার করে প্রিমিটিভ ডেটা ফাইল থেকে পড়া হয়।

FileReader / FileWriter vs DataInputStream / DataOutputStream

বিষয়FileReader/FileWriterDataInputStream/DataOutputStream
ডেটা টাইপটেক্সট ডেটা (Character streams)প্রিমিটিভ ডেটা (Binary data)
ব্যবহারটেক্সট ফাইলের জন্য উপযুক্তবাইনারি ডেটা এবং প্রিমিটিভ ডেটা টাইপের জন্য
উপযুক্ত ক্ষেত্রটেক্সট ফাইল (যেমন .txt, .csv)প্রিমিটিভ ডেটা যেমন int, float, boolean, .dat ফাইল
স্ট্রিম টাইপCharacter Stream (16-বিট ক্যারেক্টার)Byte Stream (8-বিট বাইনারি)

  • DataInputStream এবং DataOutputStream প্রিমিটিভ ডেটা টাইপ (যেমন int, float, boolean, double) পড়া এবং লেখা করার জন্য একটি শক্তিশালী টুল।
  • Java Tuples ব্যবহার করে আমরা ফাইলের নাম, আকার, এবং অন্যান্য প্রোপার্টি একত্রে সংরক্ষণ করতে পারি।
  • FileReader এবং FileWriter শুধুমাত্র টেক্সট ডেটা নিয়ে কাজ করে, কিন্তু DataInputStream এবং DataOutputStream প্রিমিটিভ ডেটা টাইপের জন্য আরও উপযুক্ত।
Content added By
Promotion

Are you sure to start over?

Loading...