"Hari ini kami meneroka satu lagi topik baharu dan menarik: hartanah. "

"Di Java, adalah kebiasaan untuk menjadikan program fleksibel dan mudah disesuaikan, iaitu mudah dikonfigurasikan."

"Sebagai contoh, sekali sejam program anda menyalin fail dari direktori tertentu, mengezipkannya dan menghantarnya kepada anda dalam e-mel. Untuk melakukan ini, program perlu mengetahui direktori tempat fail akan diambil dan alamat e-mel di mana ia harus dihantar. Data sedemikian biasanya disimpan bukan dalam kod aplikasi, tetapi dalam fail sifat yang berasingan ."

Data dalam fail ini disimpan sebagai pasangan nilai kunci, dipisahkan oleh tanda yang sama.

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

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

"Jadi ini adalah sejenis perwakilan teks bagi HashMap?"

"Secara umum, ya."

"Untuk kemudahan dalam bekerja dengan fail sedemikian, Java mempunyai kelas Properties khas. Kelas Properties mewarisi Hashtable<Object,Object>. Malah ia boleh dianggap sebagai Hashtable yang boleh memuatkan dirinya daripada fail."

"Berikut adalah kaedahnya:"

Kaedah Penerangan
void load(Reader reader) Memuatkan sifat daripada fail yang diwakili oleh objek Pembaca
void load(InputStream inStream) Memuatkan sifat daripada fail yang diwakili oleh objek InputStream
void loadFromXML(InputStream in) Muatkan sifat daripada fail XML
Object get(Object key) Mengembalikan nilai untuk kunci yang ditentukan. Kaedah ini diwarisi daripada Hashtable
String getProperty(String key) Mengembalikan nilai sifat (rentetan) mengikut kunci.
String getProperty(String key, String defaultValue) Mengembalikan nilai harta dengan kunci atau nilai lalai jika tiada kunci sedemikian.
Set<String> stringPropertyNames() Mengembalikan senarai semua kunci

"Dengan kata lain, anda sebenarnya perlu melakukan hanya dua operasi— memuatkan data daripada beberapa fail ke dalam objek Properties dan kemudian dapatkan sifat ini menggunakan kaedah getProperty (). Nah, dan jangan lupa bahawa anda boleh menggunakan objek Properties seperti HashMap . "

"Ini satu lagi contoh:"

Kod
// 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 cipta objek Properties, dan kemudian hantar fail kepadanya. Ke kaedah memuatkan. Dan kemudian kita panggil getProperty sahaja. Betul?"

"Ya."

"Dan anda juga berkata bahawa ia boleh digunakan sebagai HashMap? Apa yang anda maksudkan?"

"Kelas Properties mewarisi Hashtable, yang sama seperti HashMap, tetapi semua kaedahnya disegerakkan. Anda hanya boleh memaparkan semua nilai daripada fail sifat pada skrin seperti ini:"

Kod
// 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. Segala-galanya seperti telah jatuh ke tempatnya. Terima kasih, Rishi. Saya akan menggunakan perkara yang keren ini."