Properties ক্লাসটি java.util প্যাকেজের একটি অংশ এবং এটি একটি key-value pair এর ভিত্তিতে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, যেখানে key এবং value উভয়ই String টাইপের হয়। Properties ক্লাসটি সাধারণত কনফিগারেশন ফাইল (যেমন .properties ফাইল) পড়তে এবং লিখতে ব্যবহৃত হয়। এটি configuration settings, application settings, এবং environment variables ম্যানেজ করার জন্য একটি গুরুত্বপূর্ণ উপাদান।
Properties ক্লাসটি Hashtable এর মতো কাজ করে, তবে এটি বিশেষভাবে কনফিগারেশন সম্পর্কিত কাজের জন্য অপ্টিমাইজড।
Properties ক্লাসের মেথডসমূহ:
getProperty(String key):- এটি নির্দিষ্ট key এর জন্য value ফেরত দেয়। যদি key না থাকে, তবে এটি null ফেরত দেয়।
Syntax:
public String getProperty(String key);উদাহরণ:
Properties prop = new Properties(); prop.setProperty("username", "admin"); String username = prop.getProperty("username"); System.out.println("Username: " + username); // Output: Username: adminsetProperty(String key, String value):- এটি একটি নতুন key-value পেয়ার সেট করে। যদি নির্দিষ্ট key আগে থেকেই উপস্থিত থাকে, তবে তার মান নতুন value দিয়ে আপডেট হবে।
Syntax:
public Object setProperty(String key, String value);উদাহরণ:
Properties prop = new Properties(); prop.setProperty("username", "admin"); prop.setProperty("password", "1234"); System.out.println("Username: " + prop.getProperty("username")); System.out.println("Password: " + prop.getProperty("password"));load(InputStream inStream):- এটি একটি InputStream এর মাধ্যমে কনফিগারেশন ফাইল (যেমন
.propertiesফাইল) থেকে প্রপার্টি লোড করে।
Syntax:
public void load(InputStream inStream) throws IOException;উদাহরণ:
import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class LoadPropertiesExample { public static void main(String[] args) { Properties prop = new Properties(); try { FileInputStream input = new FileInputStream("config.properties"); prop.load(input); // Read properties from the file String username = prop.getProperty("username"); String password = prop.getProperty("password"); System.out.println("Username: " + username); System.out.println("Password: " + password); } catch (IOException e) { e.printStackTrace(); } } }config.properties (Properties File):
username=admin password=1234Output:
Username: admin Password: 1234- এটি একটি InputStream এর মাধ্যমে কনফিগারেশন ফাইল (যেমন
store(OutputStream outStream, String comments):- এটি কনফিগারেশন ফাইল বা অন্য কোনো আউটপুট স্ট্রিমে প্রপার্টি সংরক্ষণ করে। আপনি একটি কমেন্টও প্রদান করতে পারেন যা ফাইলে লেখা হবে।
Syntax:
public void store(OutputStream outStream, String comments) throws IOException;উদাহরণ:
import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class StorePropertiesExample { public static void main(String[] args) { Properties prop = new Properties(); prop.setProperty("username", "admin"); prop.setProperty("password", "1234"); try { FileOutputStream output = new FileOutputStream("config.properties"); prop.store(output, "Configuration Settings"); System.out.println("Properties file saved."); } catch (IOException e) { e.printStackTrace(); } } }Output:
Properties file saved.config.properties (After Saving):
# Configuration Settings username=admin password=1234
Properties ক্লাসের সংক্ষিপ্ত বিবরণ:
- Key-Value Pair:
Propertiesক্লাসটি শুধুমাত্র key-value pair আকারে ডেটা সংরক্ষণ করে যেখানে key এবং value উভয়ই String। - Configuration Management: এটি মূলত কনফিগারেশন ফাইলগুলো পরিচালনার জন্য ব্যবহৃত হয়। বিভিন্ন অ্যাপ্লিকেশন সেটিংস বা ডেটা properties file-এ সংরক্ষিত থাকতে পারে এবং
Propertiesক্লাসের মাধ্যমে তা লোড ও স্টোর করা যায়। - Thread Safety:
Propertiesক্লাসটি থ্রেড সেফ নয়, তাই একাধিক থ্রেডে ব্যবহারের জন্য synchronized ব্লক ব্যবহার করা যেতে পারে।
Properties ফাইল থেকে Configuration লোড করার উদাহরণ:
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class ConfigLoader {
public static void main(String[] args) {
Properties properties = new Properties();
try {
// Properties ফাইল লোড করা
FileInputStream inputStream = new FileInputStream("config.properties");
properties.load(inputStream);
// প্রপার্টি থেকে মান পঠন
String username = properties.getProperty("username");
String password = properties.getProperty("password");
System.out.println("Username: " + username);
System.out.println("Password: " + password);
} catch (IOException e) {
e.printStackTrace();
}
}
}
config.properties:
username=admin
password=secret
Output:
Username: admin
Password: secret
Propertiesক্লাসটি key-value pair আকারে ডেটা সংরক্ষণ এবং পুনরুদ্ধারের জন্য ব্যবহৃত হয়।getProperty()এবংsetProperty()এর মাধ্যমে প্রপার্টি পড়া এবং লেখা সম্ভব।load()মেথড ব্যবহার করে কনফিগারেশন ফাইল থেকে প্রপার্টি লোড করা যায়, এবংstore()মেথড ব্যবহার করে ফাইলে প্রপার্টি সংরক্ষণ করা যায়।- Properties ফাইল এবং ক্লাসটি সাধারণত কনফিগারেশন সেটিংস ম্যানেজমেন্ট এবং সফটওয়্যার কনফিগারেশন ব্যবস্থাপনায় ব্যবহৃত হয়।
Read more