Java: la clase de propiedades

Properties es una subclase de Hashtable. Se utiliza para mantener listas de valores en los que la clave es una Cadena y el valor también es una Cadena.

La clase Properties es utilizada por muchas otras clases Java. Por ejemplo, es el tipo de objeto devuelto por System.getProperties () al obtener valores ambientales.

Las propiedades definen la siguiente variable de instancia. Esta variable contiene una lista de propiedades predeterminada asociada con un objeto Propiedades.

Properties defaults;

A continuación se muestra la lista de constructores proporcionada por la clase de propiedades.

No Señor. Constructor y descripción
1

Properties( )

Este constructor crea un objeto Propiedades que no tiene valores predeterminados.

2

Properties(Properties propDefault)

Crea un objeto que usa propDefault para sus valores predeterminados. En ambos casos, la lista de propiedades está vacía.

Además de los métodos definidos por Hashtable, las propiedades definen los siguientes métodos:

No Señor. Método y descripción
1

String getProperty(String key)

Devuelve el valor asociado con la clave. Se devuelve un objeto nulo si la clave no está en la lista ni en la lista de propiedades predeterminada.

2

String getProperty(String key, String defaultProperty)

Devuelve el valor asociado con la clave; defaultProperty se devuelve si la clave no está en la lista ni en la lista de propiedades predeterminadas.

3

void list(PrintStream streamOut)

Envía la lista de propiedades al flujo de salida vinculado a streamOut.

4

void list(PrintWriter streamOut)

Envía la lista de propiedades al flujo de salida vinculado a streamOut.

5

void load(InputStream streamIn) throws IOException

Introduce una lista de propiedades del flujo de entrada vinculado a streamIn.

6

Enumeration propertyNames( )

Devuelve una enumeración de las claves. Esto también incluye las claves que se encuentran en la lista de propiedades predeterminada.

7

Object setProperty(String key, String value)

Asocia valor con la clave. Devuelve el valor anterior asociado con la clave o devuelve nulo si no existe tal asociación.

8

void store(OutputStream streamOut, String description)

Después de escribir la cadena especificada por la descripción, la lista de propiedades se escribe en el flujo de salida vinculado a streamOut.

Ejemplo

El siguiente programa ilustra varios de los métodos admitidos por esta estructura de datos:

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 + ".");
   }
}

Esto producirá el siguiente resultado:

Salida

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.