Formatted Output এর জন্য Formatter Class ব্যবহার

Scanner এবং Formatter Class - জাভা আইও (Java.io Package) - Java Technologies

314

Java-তে formatted output তৈরি করার জন্য Formatter ক্লাস ব্যবহার করা হয়। এটি Java I/O প্যাকেজের অংশ এবং PrintStream বা PrintWriter এর মতো আউটপুট স্ট্রীমে ডেটা formatted (যেমন সংখ্যা, তারিখ, স্ট্রিং ইত্যাদি) আকারে আউটপুট করার জন্য ব্যবহৃত হয়।

Formatter ক্লাসের মাধ্যমে আপনি ডেটাকে নির্দিষ্ট ফরম্যাটে আউটপুট করতে পারেন। এটি একটি stream-based আউটপুট মেথড যা String.format() অথবা System.out.printf() এর মতো মেথডের ভিত্তিতে কাজ করে।

Formatter Class এর বৈশিষ্ট্য:

  1. Formatted Output:
    • Formatter ক্লাস ডেটাকে নির্দিষ্ট ফরম্যাটে আউটপুট করে, যেমন: দশমিক সংখ্যা, তারিখ, স্ট্রিং ইত্যাদি।
  2. Placeholder Syntax:
    • Formatter ক্লাসে placeholders (%) ব্যবহার করা হয়, যা আউটপুটের জন্য নির্দিষ্ট ফরম্যাট নির্ধারণ করে। যেমন %d দিয়ে পূর্ণসংখ্যা, %f দিয়ে দশমিক সংখ্যা ইত্যাদি।
  3. Locale-Specific Formatting:
    • Formatter ক্লাসের মাধ্যমে বিভিন্ন locale অনুযায়ী ফরম্যাটিং করা যেতে পারে, যেমন ইংরেজি, ফরাসি, জাপানি ইত্যাদি।
  4. Width, Precision, and Alignment:
    • আপনি আউটপুটে width, precision, এবং alignment কাস্টমাইজ করতে পারেন, যেমন একটি নির্দিষ্ট প্রস্থে ডেটা প্রদর্শন করা।

Formatter Class এর সাধারণ ব্যবহার:

Formatter ক্লাসের প্রধান মেথডগুলির মধ্যে format(), printf(), এবং toString() অন্যতম।

Formatter Class এর প্রধান মেথডসমূহ:

মেথডবর্ণনা
format(String format, Object... args)ফরম্যাটেড আউটপুট তৈরি করে।
printf(String format, Object... args)System.out.printf() এর মতো আউটপুট প্রদর্শন করে।
toString()আউটপুটকে স্ট্রিং আকারে রিটার্ন করে।

Formatter Class এর উদাহরণ:

1. সাধারণ Formatter ব্যবহার

import java.util.Formatter;

public class FormatterExample {
    public static void main(String[] args) {
        // Formatter অবজেক্ট তৈরি করা
        Formatter formatter = new Formatter();

        // ফরম্যাটেড আউটপুট
        formatter.format("Name: %s, Age: %d, Height: %.2f meters", "John", 30, 1.75);

        // আউটপুট দেখানো
        System.out.println(formatter.toString());

        // Formatter বন্ধ করা
        formatter.close();
    }
}

ব্যাখ্যা:

  • format() মেথডে %s, %d, এবং %.2f প্লেসহোল্ডার ব্যবহার করা হয়েছে।
    • %s: স্ট্রিং ইনপুট (নাম),
    • %d: পূর্ণসংখ্যা ইনপুট (বয়স),
    • %.2f: দশমিক ইনপুট (উচ্চতা) যেটি দুই দশমিক পর্যন্ত প্রদর্শিত হবে।

আউটপুট:

Name: John, Age: 30, Height: 1.75 meters

2. Formatter ব্যবহার করে বিভিন্ন সংখ্যা ফরম্যাটিং

import java.util.Formatter;

public class NumberFormattingExample {
    public static void main(String[] args) {
        // Formatter অবজেক্ট তৈরি করা
        Formatter formatter = new Formatter();

        // ফরম্যাটেড আউটপুট
        formatter.format("Integer: %d, Floating Point: %.2f, Hexadecimal: %x", 100, 3.14159, 255);

        // আউটপুট দেখানো
        System.out.println(formatter.toString());

        // Formatter বন্ধ করা
        formatter.close();
    }
}

ব্যাখ্যা:

  • %d: পূর্ণসংখ্যা (যেমন 100),
  • %.2f: দশমিক সংখ্যা, দুই দশমিক স্থান (যেমন 3.14),
  • %x: হেক্সাডেসিমেল ফরম্যাটে সংখ্যা (যেমন 255 কে ff হিসাবে দেখাবে)।

আউটপুট:

Integer: 100, Floating Point: 3.14, Hexadecimal: ff

3. Formatter ব্যবহার করে Alignment এবং Width

import java.util.Formatter;

public class AlignmentExample {
    public static void main(String[] args) {
        // Formatter অবজেক্ট তৈরি করা
        Formatter formatter = new Formatter();

        // ফরম্যাটেড আউটপুট উইথ এলাইনমেন্ট এবং প্রস্থ
        formatter.format("|%-10s|%10d|", "Apple", 30);   // Left align text and right align number

        // আউটপুট দেখানো
        System.out.println(formatter.toString());

        // Formatter বন্ধ করা
        formatter.close();
    }
}

ব্যাখ্যা:

  • %-10s: স্ট্রিংটি 10 অক্ষরের প্রস্থে বাম দিকে এলাইন করা হয়েছে।
  • %10d: পূর্ণসংখ্যা 10 অক্ষরের প্রস্থে ডান দিকে এলাইন করা হয়েছে।

আউটপুট:

|Apple     |        30|

Formatter Class এর সুবিধা:

  1. Flexible Formatting:
    • Formatter ক্লাস বিভিন্ন ধরনের ডেটার জন্য ফরম্যাটিং সুবিধা প্রদান করে, যেমন স্ট্রিং, পূর্ণসংখ্যা, দশমিক সংখ্যা, তারিখ ইত্যাদি।
  2. Locale-Specific Formatting:
    • এটি locale-specific formatting সমর্থন করে, যার ফলে আপনি বিভিন্ন দেশের ফরম্যাটে ডেটা প্রদর্শন করতে পারেন। যেমন ইংরেজি, ফরাসি, জাপানি ইত্যাদি।
  3. Alignment, Precision, and Width:
    • Formatter ক্লাস আপনাকে ফরম্যাটিং এর জন্য alignment, width, এবং precision কাস্টমাইজ করার সুযোগ দেয়, যা আউটপুটকে আরও সুন্দর এবং সুগম করে তোলে।
  4. Consistent Output:
    • এটি বিভিন্ন ডেটা টাইপের জন্য একটি একক, প্রাঞ্জল ফরম্যাট প্রদান করে, যা কোডের মান বজায় রাখে।

Formatter Class এর সীমাবদ্ধতা:

  1. Only Text-Based Output:
    • Formatter ক্লাস কেবলমাত্র text-based output ফরম্যাট করতে সক্ষম। এটি binary data ফরম্যাটিং এর জন্য উপযুক্ত নয়।
  2. Complex Formatting:
    • বেশ কিছু ক্ষেত্রে, ফরম্যাটিং খুব বেশি জটিল হলে কোডটি complex হয়ে যেতে পারে, বিশেষত যখন অনেক ধরনের ফরম্যাটিং একসাথে করতে হয়।

  • Formatter ক্লাস Java I/O প্যাকেজে ফরম্যাটেড আউটপুট তৈরির জন্য একটি গুরুত্বপূর্ণ ক্লাস।
  • এটি বিভিন্ন text-based data ফরম্যাট করার জন্য অত্যন্ত কার্যকরী এবং এটি ব্যবহার করে precision, width, alignment, locale-specific formatting ইত্যাদি কাস্টমাইজ করা যায়।
  • Formatter Java-তে formatted output তৈরির জন্য একটি সোজা এবং কার্যকরী উপায়, যা console output, file writing, report generation ইত্যাদির জন্য ব্যবহৃত হতে পারে।
Content added By
Promotion

Are you sure to start over?

Loading...