"Hari ini kami menjelajahi topik baru dan menarik lainnya: properti. "

"Di Jawa, biasanya membuat program fleksibel dan mudah disesuaikan, yaitu mudah dikonfigurasi."

"Misalnya, sekali per jam program Anda menyalin file dari direktori tertentu, meng-zip-nya, dan mengirimkannya kepada Anda melalui email. Untuk melakukan ini, program perlu mengetahui direktori tempat file akan diambil, dan alamat email ke mana mereka harus dikirim. Data seperti itu biasanya disimpan bukan dalam kode aplikasi, tetapi dalam file properti terpisah ."

Data dalam file ini disimpan sebagai key-value pair, dipisahkan dengan tanda sama dengan.

Contoh
data.properties file
directory = c:/text/downloads
email = zapp@codegym.cc

"Di sebelah kiri tanda adalah nama (kunci), di sebelah kanan adalah nilainya."

"Jadi ini semacam representasi tekstual dari HashMap?"

"Secara umum, ya."

"Untuk kenyamanan dalam bekerja dengan file seperti itu, Java memiliki kelas Properties khusus. Kelas Properties mewarisi Hashtable<Object,Object>. Bahkan dapat dianggap sebagai Hashtable yang dapat memuat dirinya sendiri dari sebuah file."

"Ini metodenya:"

metode Keterangan
void load(Reader reader) Memuat properti dari file yang diwakili oleh objek Pembaca
void load(InputStream inStream) Memuat properti dari file yang diwakili oleh objek InputStream
void loadFromXML(InputStream in) Muat properti dari file XML
Object get(Object key) Mengembalikan nilai untuk kunci yang ditentukan. Metode ini diwarisi dari Hashtable
String getProperty(String key) Mengembalikan nilai properti (string) dengan kunci.
String getProperty(String key, String defaultValue) Mengembalikan nilai properti dengan kunci atau defaultValue jika tidak ada kunci tersebut.
Set<String> stringPropertyNames() Mengembalikan daftar semua kunci

"Dengan kata lain, Anda sebenarnya hanya perlu melakukan dua operasi— memuat data dari beberapa file ke objek Properties dan kemudian mendapatkan properti ini menggunakan metode getProperty (). Nah, dan jangan lupa bahwa Anda bisa menggunakan objek Properties seperti sebuah HashMap ."

"Ini contoh lain:"

Kode
// The file that stores our project's properties
File file = new File("c:/data.properties");

// Create a Properties object and load data from the file into it.
Properties properties = new Properties();
properties.load(new FileReader(file));

// Get property values from the Properties object
String email = properties.getProperty("email");
String directory = properties.getProperty("directory");

// Get a numeric value from the Properties object
int maxFileSize = Integer.parseInt(properties.getProperty("max.size", "10000"));

"Ah. Jadi kita membuat objek Properties, lalu meneruskan file ke sana. Ke metode load. Lalu kita panggil getProperty. Benar?"

"Ya."

"Dan kamu juga bilang itu bisa digunakan sebagai HashMap? Apa maksudmu?"

"Kelas Properti mewarisi Hashtable, yang sama dengan HashMap, tetapi semua metodenya disinkronkan. Anda cukup menampilkan semua nilai dari file properti di layar seperti ini:"

Kode
// Get the file with the properties
File file = new File("c:/data.properties");

// Create a Properties object and load data from the file into it.
Properties properties = new Properties();
properties.load(new FileReader(file));

// Run through all the keys and display their values on the console
for (String key : properties.stringPropertyNames())
{
 System.out.println(properties.get(key));
}

"Ah. Sepertinya semuanya berjalan lancar. Terima kasih, Rishi. Aku akan menggunakan benda keren ini."