Java: la classe delle proprietà
Properties è una sottoclasse di Hashtable. Viene utilizzato per mantenere elenchi di valori in cui la chiave è una stringa e anche il valore è una stringa.
La classe Properties viene utilizzata da molte altre classi Java. Ad esempio, è il tipo di oggetto restituito da System.getProperties () quando si ottengono i valori ambientali.
Le proprietà definiscono la seguente variabile di istanza. Questa variabile contiene un elenco di proprietà predefinito associato a un oggetto Properties.
Properties defaults;
Di seguito è riportato l'elenco dei costruttori forniti dalla classe delle proprietà.
Sr.No. | Costruttore e descrizione |
---|---|
1 | Properties( ) Questo costruttore crea un oggetto Properties che non ha valori predefiniti. |
2 | Properties(Properties propDefault) Crea un oggetto che utilizza propDefault per i suoi valori predefiniti. In entrambi i casi, l'elenco delle proprietà è vuoto. |
Oltre ai metodi definiti da Hashtable, le proprietà definiscono i seguenti metodi:
Sr.No. | Metodo e descrizione |
---|---|
1 | String getProperty(String key) Restituisce il valore associato alla chiave. Viene restituito un oggetto nullo se la chiave non è né nell'elenco né nell'elenco delle proprietà predefinite. |
2 | String getProperty(String key, String defaultProperty) Restituisce il valore associato alla chiave; defaultProperty viene restituito se la chiave non è né nell'elenco né nell'elenco delle proprietà predefinite. |
3 | void list(PrintStream streamOut) Invia l'elenco delle proprietà al flusso di output collegato a streamOut. |
4 | void list(PrintWriter streamOut) Invia l'elenco delle proprietà al flusso di output collegato a streamOut. |
5 | void load(InputStream streamIn) throws IOException Inserisce un elenco di proprietà dal flusso di input collegato a streamIn. |
6 | Enumeration propertyNames( ) Restituisce un'enumerazione delle chiavi. Ciò include anche quelle chiavi che si trovano nell'elenco delle proprietà predefinite. |
7 | Object setProperty(String key, String value) Associa il valore alla chiave. Restituisce il valore precedente associato alla chiave o restituisce null se tale associazione non esiste. |
8 | void store(OutputStream streamOut, String description) Dopo aver scritto la stringa specificata dalla descrizione, l'elenco delle proprietà viene scritto nel flusso di output collegato a streamOut. |
Esempio
Il seguente programma illustra molti dei metodi supportati da questa struttura dati:
import java.util.*;
public class PropDemo {
public static void main(String args[]) {
Properties capitals = new Properties();
Set states;
String str;
capitals.put("Illinois", "Springfield");
capitals.put("Missouri", "Jefferson City");
capitals.put("Washington", "Olympia");
capitals.put("California", "Sacramento");
capitals.put("Indiana", "Indianapolis");
// Show all states and capitals in hashtable.
states = capitals.keySet(); // get set-view of keys
Iterator itr = states.iterator();
while(itr.hasNext()) {
str = (String) itr.next();
System.out.println("The capital of " + str + " is " +
capitals.getProperty(str) + ".");
}
System.out.println();
// look for state not in list -- specify default
str = capitals.getProperty("Florida", "Not Found");
System.out.println("The capital of Florida is " + str + ".");
}
}
Questo produrrà il seguente risultato:
Produzione
The capital of Missouri is Jefferson City.
The capital of Illinois is Springfield.
The capital of Indiana is Indianapolis.
The capital of California is Sacramento.
The capital of Washington is Olympia.
The capital of Florida is Not Found.