"Ma egy másik új és érdekes témát vizsgálunk: az ingatlanokat. "

"A Java-ban az a szokás, hogy a programokat rugalmassá és könnyen testreszabhatóvá, azaz könnyen konfigurálhatóvá teszik."

"Például, a program óránként egyszer kimásolja a fájlokat egy bizonyos könyvtárból, tömöríti őket, és elküldi Önnek e-mailben. Ehhez a programnak ismernie kell azt a könyvtárat, ahonnan a fájlok kerülnek, és az e-mail címet. hova kell küldeni. Az ilyen adatokat általában nem az alkalmazás kódjában tárolják, hanem egy külön tulajdonságfájlban . "

Az ebben a fájlban lévő adatok kulcs-érték párokként vannak tárolva, egyenlőségjellel elválasztva.

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

"A jeltől balra a név (kulcs), jobbra az érték."

"Szóval ez a HashMap egyfajta szöveges ábrázolása?"

– Általában igen.

"Az ilyen fájlokkal való munka kényelme érdekében a Java-nak van egy speciális Properties osztálya. A Properties osztály örökli a Hashtable<Object,Object>-t. Akár úgy is felfogható, mint egy Hashtable, amely képes betölteni magát egy fájlból."

"Íme a módszerei:"

Módszer Leírás
void load(Reader reader) A Reader objektum által képviselt fájl tulajdonságait tölti be
void load(InputStream inStream) Tulajdonságokat tölt be az InputStream objektum által képviselt fájlból
void loadFromXML(InputStream in) Tulajdonságok betöltése XML-fájlból
Object get(Object key) A megadott kulcs értékét adja vissza. Ezt a módszert a Hashtable örökölte
String getProperty(String key) Egy tulajdonságértéket (karakterláncot) ad vissza kulcsonként.
String getProperty(String key, String defaultValue) Tulajdonságértéket ad vissza kulcs vagy defaultValue alapján, ha nincs ilyen kulcs.
Set<String> stringPropertyNames() Visszaadja az összes kulcs listáját

"Más szóval, valójában csak két műveletet kell végrehajtania – adatokat töltsön be egy fájlból egy Properties objektumba, majd kapja meg ezeket a tulajdonságokat a getProperty () metódussal. Nos, és ne felejtse el, hogy használhatja a Properties objektumot, mint pl. egy HashMap ."

"Íme egy másik példa:"

Kód
// 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. Tehát létrehozunk egy Properties objektumot, majd átadunk neki egy fájlt. A betöltési metódusnak. Aztán csak meghívjuk a getProperty-t. Ugye?"

"Igen."

"És azt is mondtad, hogy használható HashMapként? Hogy értetted?"

"A Properties osztály örökli a Hashtable-t, ami megegyezik a HashMap-pel, de minden metódusa szinkronizált. Egyszerűen megjelenítheti a tulajdonságfájl összes értékét a képernyőn, így:

Kód
// 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. Úgy tűnik, minden a helyére került. Köszönöm, Rishi. Használni fogom ezt a klassz dolgot."