Clase Java Properties
Properties hereda de Hashtable, es una clase utilizada para gestionar información de configuración.
Debido a que Properties hereda de la clase Hashtable, tiene todas las funcionalidades de Hashtable, y además proporciona algunos métodos especiales para leer y escribir archivos de propiedades.
La clase Properties se usa a menudo para almacenar información de configuración de programas, como información de conexión de bases de datos, configuración de salida de registros, ajustes de aplicaciones, etc. Usando la clase Properties, se puede almacenar esta información en un archivo de texto y leerla en el programa.
La clase Properties es utilizada por muchas clases de Java. Por ejemplo, al obtener variables de entorno, sirve como valor de retorno del método System.getProperties().
Properties define la siguiente variable de instancia. Esta variable mantiene una lista de propiedades predeterminadas relacionada con un objeto Properties.
Properties defaults;
La clase Properties define dos constructores. El primer constructor no tiene valores predeterminados.
Properties()
El segundo constructor utiliza propDefault como valor predeterminado. En ambos casos, la lista de propiedades está vacía:
Properties(Properties propDefault)
Además de los métodos definidos en Hashtable, Properties también define los siguientes métodos:
| N.º | Descripción del método |
|---|---|
| 1 |
String getProperty(String key) Busca la propiedad en esta lista de propiedades con la clave especificada. |
| 2 |
String getProperty(String key, String defaultProperty) Busca la propiedad en la lista de propiedades con la clave especificada. |
| 3 |
void list(PrintStream streamOut) Escribe la lista de propiedades en el flujo de salida especificado. |
| 4 |
void list(PrintWriter streamOut) Escribe la lista de propiedades en el flujo de salida especificado. |
| 5 |
void load(InputStream streamIn) throws IOException Lee la lista de propiedades (pares de clave y elemento) desde el flujo de entrada. |
| 6 |
Enumeration propertyNames( ) Lee la lista de propiedades (pares de clave y elemento) desde el flujo de caracteres de entrada en un formato simple orientado a líneas. |
| 7 |
Object setProperty(String key, String value) Llama al método put de Hashtable. |
| 8 |
void store(OutputStream streamOut, String description) Escribe la lista de propiedades (pares de clave y elemento) de esta tabla Properties en el flujo de salida, en un formato adecuado para cargarla en una tabla Properties mediante el método load(InputStream). |
La clase Properties proporciona varios métodos para leer y escribir archivos de propiedades. Los métodos más utilizados son load() y store().
El método load() puede leer propiedades desde un archivo, mientras que el método store() puede escribir propiedades en un archivo.
A continuación se muestra un ejemplo sencillo que demuestra cómo usar la clase Properties para leer y escribir archivos de propiedades:
Ejemplo
import java.io.*;
import java.util.Properties;
public class PropertiesExample {
public static void main(String[] args) {
Properties prop = new Properties();
try {
// Leer el archivo de propiedades
prop.load(new FileInputStream("config.properties"));
// Obtener el valor de la propiedad
String username = prop.getProperty("username");
String password = prop.getProperty("password");
// Imprimir el valor de la propiedad
System.out.println("username: " + username);
System.out.println("password: " + password);
// Modificar el valor de la propiedad
prop.setProperty("username", "newUsername");
prop.setProperty("password", "newPassword");
// Guardar las propiedades en el archivo
prop.store(new FileOutputStream("config.properties"), null);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
En el ejemplo anterior, creamos un objeto Properties y luego usamos el método load() para leer las propiedades desde el archivo de configuración. A continuación, usamos el método getProperty() para obtener el valor de la propiedad y lo mostramos en la consola. Luego usamos el método setProperty() para modificar el valor de la propiedad y el método store() para guardar las propiedades modificadas de vuelta en el archivo.
Ejemplo
El siguiente programa explica varios métodos soportados por esta estructura de datos:
Ejemplo
La compilación y ejecución del ejemplo anterior produce el siguiente resultado:
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.
Otras extensiones
Estructuras de datos de Java