Clase de propiedades en Java

La clase Propiedades representa un conjunto persistente de propiedades. Las propiedades se pueden guardar en una secuencia o cargar desde una secuencia. Pertenece al paquete java.util . Las propiedades definen la siguiente variable de instancia. Esta variable contiene una lista de propiedades predeterminada asociada con un objeto de propiedades

Valores predeterminados de propiedades: esta variable contiene una lista de propiedades predeterminadas asociadas con un objeto de propiedades.
 

Características de la clase de propiedades:

  • Properties es una subclase de Hashtable .
  • Se utiliza para mantener una lista de valores en la que la clave es una string y el valor también es una string, es decir; se puede utilizar para almacenar y recuperar datos de tipo string del archivo de propiedades.
  • La clase de propiedades puede especificar otra lista de propiedades, ya que es la predeterminada. Si una propiedad clave en particular no está presente en la lista de propiedades original, se buscarán las propiedades predeterminadas.
  • El objeto de propiedades no requiere sincronización externa y varios subprocesos pueden compartir un único objeto de propiedades.
  • Además, se puede utilizar para recuperar las propiedades del sistema.

Ventaja de un archivo de propiedades

En el caso de que se cambie algún dato del registro de propiedades, no es necesario volver a compilar la clase java. Se utiliza para almacenar datos que se van a cambiar habitualmente.

Nota: la clase Properties no hereda el concepto de factor de carga de su superclase, Hashtable .

Declaración

public class Properties extends Hashtable<Object,​Object>

Constructores de Propiedades 

1. Propiedades(): esto crea un objeto de propiedades que no tiene valores predeterminados. 

Propiedades p = nuevas Propiedades();

2. Propiedades (Propiedades propDefault): El segundo crea un objeto que usa propDefault para su valor predeterminado. 

Propiedades p = nuevas Propiedades (Propiedades propDefault);

Ejemplo 1: El siguiente programa muestra cómo usar la clase Propiedades para obtener información del archivo de propiedades. 

Vamos a crear un archivo de propiedades y nombrarlo como db.properties .

db.properties

username = coder
password = geeksforgeeks

Código

Java

// Java program to demonstrate Properties class to get
// information from the properties file
  
import java.util.*;
import java.io.*;
public class GFG {
    public static void main(String[] args) throws Exception
    {
        // create a reader object on the properties file
        FileReader reader = new FileReader("db.properties");
  
        // create properties object
        Properties p = new Properties();
  
        // Add a wrapper around reader object
        p.load(reader);
  
        // access properties data
        System.out.println(p.getProperty("username"));
        System.out.println(p.getProperty("password"));
    }
}

Producción

print properties of a file

Ejemplo 2: El siguiente programa muestra cómo usar la clase Propiedades para obtener todas las propiedades del sistema. Usando

Java

// Java program to demonstrate Properties class to get all
// the system properties
  
import java.util.*;
import java.io.*;
  
public class GFG {
    public static void main(String[] args) throws Exception
    {
        // get all the system properties
        Properties p = System.getProperties();
  
        // stores set of properties information
        Set set = p.entrySet();
  
        // iterate over the set
        Iterator itr = set.iterator();
        while (itr.hasNext()) {
  
            // print each property
            Map.Entry entry = (Map.Entry)itr.next();
            System.out.println(entry.getKey() + " = "
                               + entry.getValue());
        }
    }
}

Producción

get all the system properties

Ejemplo 3: El siguiente programa muestra cómo usar la clase Propiedades para crear un archivo de propiedades.

Java

// Java program to demonstrate Properties class to create
// the properties file
  
import java.util.*;
import java.io.*;
  
public class GFG {
    public static void main(String[] args) throws Exception
    {
        // create an instance of Properties
        Properties p = new Properties();
  
        // add properties to it
        p.setProperty("name", "Ganesh Chowdhary Sadanala");
        p.setProperty("email",
                      "ganeshs.gfg@gmail.com");
  
        // store the properties to a file
        p.store(new FileWriter("info.properties"),
                "GeeksforGeeks Properties Example");
    }
}

Producción

use Properties class to create a properties file.

Métodos de Propiedades

MÉTODO

DESCRIPCIÓN

getProperty​(clave de string) Busca la propiedad con la clave especificada en esta lista de propiedades.
getProperty (clave de string, valor predeterminado de string) Busca la propiedad con la clave especificada en esta lista de propiedades.
lista​(PrintStream fuera) Imprime esta lista de propiedades en el flujo de salida especificado.
lista​(ImprimirEscritor fuera) Imprime esta lista de propiedades en el flujo de salida especificado.
carga​(InputStream enStream) Lee una lista de propiedades (pares de clave y elemento) del flujo de bytes de entrada.
carga​(lector lector) Lee una lista de propiedades (pares de clave y elemento) del flujo de caracteres de entrada en un formato simple orientado a líneas.
loadFromXML​(InputStream en) Carga todas las propiedades representadas por el documento XML en el flujo de entrada especificado en esta tabla de propiedades.
nombres de propiedad() Devuelve una enumeración de todas las claves en esta lista de propiedades, incluidas las claves distintas en la lista de propiedades predeterminada si aún no se ha encontrado una clave con el mismo nombre en la lista de propiedades principal.
guardar (OutputStream out, string de comentarios)

Obsoleto _

Este método no genera una IOException si se produce un error de E/S al guardar la lista de propiedades.

setProperty (clave de string, valor de string) Llama al método put de Hashtable.
tienda (OutputStream out, comentarios de string) Escribe esta lista de propiedades (pares de clave y elemento) en esta tabla de propiedades en el flujo de salida en un formato adecuado para cargar en una tabla de propiedades mediante el método load(InputStream).
tienda (escritor escritor, comentarios de string) Escribe esta lista de propiedades (pares de clave y elemento) en esta tabla de propiedades en el flujo de caracteres de salida en un formato adecuado para usar el método de carga (Lector).
storeToXML​(OutputStream os, comentario de string) Emite un documento XML que representa todas las propiedades contenidas en esta tabla.
storeToXML​(OutputStream os, comentario de string, codificación de string) Emite un documento XML que representa todas las propiedades contenidas en esta tabla, utilizando la codificación especificada.
storeToXML​(OutputStream os, String comment, Charset charset) Emite un documento XML que representa todas las propiedades contenidas en esta tabla, utilizando la codificación especificada.
stringPropertyNames() Devuelve un conjunto de claves no modificables de esta lista de propiedades donde la clave y su valor correspondiente son strings, incluidas claves distintas en la lista de propiedades predeterminada si aún no se ha encontrado una clave con el mismo nombre en la lista de propiedades principal.

Métodos declarados en la clase java.util.Hashtable

MÉTODO

DESCRIPCIÓN

clear() Borra esta tabla hash para que no contenga claves.
 clon() Crea una copia superficial de esta tabla hash.
calcular​(tecla K, BiFunction<? super K,​? super V,​? extiende V> función de reasignación) Intenta calcular una asignación para la clave especificada y su valor asignado actual (o nulo si no hay una asignación actual).
ComputeIfAbsent​(tecla K, función <? super K,​? extiende V> función de mapeo) Si la clave especificada aún no está asociada con un valor (o está asignada a un valor nulo), intenta calcular su valor utilizando la función de asignación dada y lo ingresa en este mapa a menos que sea nulo.
ComputeIfPresent​(tecla K, BiFunction<? super K,​? super V,​? extiende V> función de reasignación) Si el valor de la clave especificada está presente y no es nulo, intenta calcular una nueva asignación dada la clave y su valor asignado actual.
contiene​(Valor del objeto) Comprueba si algunas claves se asignan al valor especificado en esta tabla hash.
containsKey​(clave de objeto) Comprueba si el objeto especificado es una clave en esta tabla hash.
contiene valor (valor del objeto) Devuelve verdadero si esta tabla hash asigna una o más claves a este valor.
elements() Devuelve una enumeración de los valores de esta tabla hash.
conjuntoentrada() Devuelve una vista de conjunto de las asignaciones contenidas en este mapa.
es igual a​(Objeto o) Compara el objeto especificado con este mapa para la igualdad, según la definición en la interfaz del mapa.
obtener (clave de objeto) Devuelve el valor al que se asigna la clave especificada, o nulo si este mapa no contiene ninguna asignación para la clave.
código hash() Devuelve el valor del código hash para este mapa según la definición en la interfaz del mapa.
esta vacio() Comprueba si esta tabla hash no asigna claves a valores.
llaves() Devuelve una enumeración de las claves en esta tabla hash.
juego de llaves() Devuelve una vista de conjunto de las claves contenidas en este mapa.
fusionar (tecla K, valor V, BiFunction<? super V,​? super V,​? extiende V> función de reasignación) Si la clave especificada aún no está asociada con un valor o está asociada con un valor nulo, la asocia con el valor no nulo proporcionado.
poner (tecla K, valor V) Asigna la clave especificada al valor especificado en esta tabla hash.
putAll​(Map<? extiende K,​? extiende V> t) Copia todas las asignaciones del mapa especificado a esta tabla hash.
refrito() Aumenta la capacidad y reorganiza internamente esta tabla hash, para acomodar y acceder a sus entradas de manera más eficiente.
eliminar (tecla de objeto) Elimina la clave (y su valor correspondiente) de esta tabla hash.
Talla() Devuelve el número de claves en esta tabla hash.
Enstringr() Devuelve una representación de string de este objeto Hashtable en forma de un conjunto de entradas, entre llaves y separadas por los caracteres ASCII ” , ” (coma y espacio).
valores() Devuelve una vista de colección de los valores contenidos en este mapa.

Métodos declarados en la interfaz java.util.Map

MÉTODO

DESCRIPCIÓN

forEach​(BiConsumidor<? super K,​? super V> acción) Realiza la acción dada para cada entrada en este mapa hasta que todas las entradas hayan sido procesadas o la acción arroje una excepción.
getOrDefault​(Clave de objeto, V valor predeterminado) Devuelve el valor al que se asigna la clave especificada o defaultValue si este mapa no contiene ninguna asignación para la clave.
putIfAbsent​(clave K, valor V) Si la clave especificada aún no está asociada con un valor (o está asignada a un valor nulo), la asocia con el valor dado y devuelve un valor nulo; de lo contrario, devuelve el valor actual.
eliminar (clave de objeto, valor de objeto) Elimina la entrada de la clave especificada solo si actualmente está asignada al valor especificado.
reemplazar (tecla K, valor V) Reemplaza la entrada de la clave especificada solo si actualmente está asignada a algún valor.
reemplazar (tecla K, V valor anterior, V valor nuevo) Reemplaza la entrada de la clave especificada solo si actualmente está asignada al valor especificado.
replaceAll​(BiFunction<? super K,​? super V,​? extiende la función V>) Reemplaza el valor de cada entrada con el resultado de invocar la función dada en esa entrada hasta que se hayan procesado todas las entradas o la función produzca una excepción.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *