Properties ফাইল থেকে ডাটা পড়া এবং রাইট করা

Properties ফাইলের সাথে কাজ - জাভা ইন্টারন্যাশনালাইজেশন (Java Internalization) - Java Technologies

266

Properties ফাইল হল একটি সাধারণ কনফিগারেশন ফাইল যা key-value pairs ধারণ করে এবং সাধারণত প্রোগ্রামের কনফিগারেশন, ভাষা পরিবর্তন এবং অন্যান্য ডেটা স্টোরেজের জন্য ব্যবহৃত হয়। Java তে Properties ক্লাসের মাধ্যমে আমরা এই ধরনের ফাইল থেকে ডেটা পড়া এবং লেখার কাজ করতে পারি।

Java তে Properties ক্লাসটি java.util প্যাকেজের অন্তর্গত এবং এটি কনফিগারেশন স্টোরেজ এবং i18n (Internationalization) বা l10n (Localization) সহ অন্যান্য কাজের জন্য অত্যন্ত গুরুত্বপূর্ণ। এটি সাধারণত .properties ফাইলের মধ্যে সংরক্ষিত ডেটা থেকে কী এবং মান (key-value pairs) পড়তে এবং লিখতে ব্যবহৃত হয়।


Properties ফাইল থেকে ডাটা পড়া:

Java তে Properties ফাইল থেকে ডেটা পড়ার জন্য Properties ক্লাসের load() মেথড ব্যবহার করা হয়। এই মেথডটি একটি ইনপুট স্ট্রীম থেকে ডেটা পড়ে এবং কী-ব্যালু পেয়ারগুলো Properties অবজেক্টে লোড করে।

Properties ফাইল উদাহরণ:

এখানে একটি config.properties ফাইলের উদাহরণ দেখানো হচ্ছে, যেটি সাধারণ কনফিগারেশন বা ভাষা নির্ভর তথ্য ধারণ করে:

config.properties:

app.name=My Application
app.version=1.0
app.language=en

Properties ফাইল থেকে ডেটা পড়ার উদাহরণ:

import java.io.*;
import java.util.*;

public class ReadPropertiesFile {
    public static void main(String[] args) {
        Properties properties = new Properties();
        
        try (FileInputStream fis = new FileInputStream("config.properties")) {
            // Properties ফাইল লোড করা
            properties.load(fis);
            
            // properties থেকে ডেটা পড়া
            String appName = properties.getProperty("app.name");
            String appVersion = properties.getProperty("app.version");
            String appLanguage = properties.getProperty("app.language");
            
            System.out.println("Application Name: " + appName);
            System.out.println("Version: " + appVersion);
            System.out.println("Language: " + appLanguage);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • FileInputStream ব্যবহার করে config.properties ফাইলটি পড়া হচ্ছে।
  • Properties অবজেক্টের load() মেথডের মাধ্যমে ফাইলের ডেটা লোড করা হচ্ছে।
  • getProperty() মেথডের মাধ্যমে নির্দিষ্ট কী (key) থেকে মান (value) নেওয়া হচ্ছে এবং সেগুলো প্রিন্ট করা হচ্ছে।

আউটপুট:

Application Name: My Application
Version: 1.0
Language: en

Properties ফাইল এ ডেটা লেখা:

Java তে Properties ফাইল এ ডেটা লেখার জন্য store() মেথড ব্যবহার করা হয়। এই মেথডটি একটি আউটপুট স্ট্রীমে কী-ব্যালু পেয়ার লিখতে সহায়ক।

Properties ফাইল এ ডেটা লেখার উদাহরণ:

import java.io.*;
import java.util.*;

public class WritePropertiesFile {
    public static void main(String[] args) {
        Properties properties = new Properties();
        
        // Properties অবজেক্টে ডেটা সেট করা
        properties.setProperty("app.name", "My Application");
        properties.setProperty("app.version", "1.1");
        properties.setProperty("app.language", "fr");
        
        try (FileOutputStream fos = new FileOutputStream("config.properties")) {
            // Properties ফাইলে ডেটা লেখা
            properties.store(fos, "Application Configuration");
            System.out.println("Properties file updated successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setProperty() মেথড ব্যবহার করে Properties অবজেক্টে ডেটা সেট করা হচ্ছে।
  • store() মেথড ব্যবহার করে config.properties ফাইলের মধ্যে ডেটা লেখা হচ্ছে। দ্বিতীয় আর্গুমেন্ট হল একটি কমেন্ট, যা ফাইলের শীর্ষে একটি মন্তব্য হিসেবে যোগ হবে।

আউটপুট:

Properties file updated successfully.

ফাইল config.properties এ নতুন কনফিগারেশন লেখা হবে:

#Application Configuration
app.name=My Application
app.version=1.1
app.language=fr

Properties ফাইলের আরও কিছু ব্যবহারিক মেথড:

  • getProperty(String key): নির্দিষ্ট কী (key) এর জন্য মান (value) ফেরত দেয়। যদি কী পাওয়া না যায়, তাহলে null ফেরত দেয়।
  • setProperty(String key, String value): একটি কী-ব্যালু পেয়ার সেট করে।
  • remove(Object key): নির্দিষ্ট কী (key) বাদ দেয়।
  • list(PrintStream out): ফাইলের সমস্ত কী-ব্যালু পেয়ার কনসোলে বা নির্দিষ্ট আউটপুট স্ট্রীমে প্রিন্ট করে।

Properties ফাইল ব্যবহার করার সুবিধা:

  1. Configuration Management:
    • প্রোগ্রাম বা অ্যাপ্লিকেশনের কনফিগারেশন স্টোর করার জন্য Properties ফাইল একটি আদর্শ পদ্ধতি। এটি সহজ এবং কোড থেকে আলাদা কনফিগারেশন ম্যানেজমেন্ট সিস্টেম প্রদান করে।
  2. Language Support (i18n):
    • বিভিন্ন ভাষার জন্য পৃথক properties ফাইল তৈরি করা যায় এবং সেগুলির মাধ্যমে localization (l10n) সাপোর্ট নিশ্চিত করা যায়। যেমন, ইংরেজি, ফরাসি, স্প্যানিশ ইত্যাদি ভাষার জন্য আলাদা ফাইল তৈরি করা।
  3. Ease of Use:
    • Properties ফাইল অত্যন্ত সহজে পড়া এবং লেখা যায়। এর গঠন সহজ এবং key-value pairs সহজে প্রক্রিয়া করা যায়।
  4. Portability:
    • Properties ফাইলগুলি plain text ফাইল হওয়ায়, এগুলি অন্যান্য সফটওয়্যার বা সিস্টেমে সহজেই ব্যবহার করা যায়।

  • Properties ফাইল Java-তে কনফিগারেশন ডেটা স্টোর করার একটি খুবই সাধারণ এবং শক্তিশালী উপায়। এটি key-value পেয়ার ভিত্তিক ফরম্যাটে ডেটা সংরক্ষণ করে, যা পড়া এবং লেখা সহজ।
  • Properties ক্লাসের load() এবং store() মেথড ব্যবহার করে সহজেই properties ফাইল থেকে ডেটা পড়া এবং লেখা যায়।
  • Internationalization এবং Localization এর ক্ষেত্রে বিভিন্ন ভাষার জন্য পৃথক properties ফাইল তৈরি করা যায়, যা প্রোগ্রামের ভাষা পরিবর্তনের জন্য ব্যবহৃত হয়।

Properties ফাইলের মাধ্যমে Java অ্যাপ্লিকেশনগুলি কনফিগারেশন এবং ভাষা নির্ভর ডেটা বহন করতে সক্ষম হয়, যা scalability এবং flexibility বৃদ্ধিতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...