TutorJava Nivel Básico

En Java, los atributos del programa est�n representados por la clase Properties del paquete java.util. Un objeto Propierties contiene un juego de parejas clave/valor. Estas parejas clave/valor son como las entradas de un diccionario: la clave es la palabra, y el valor es la definici�n.

Tanto la clave como el valor son cadenas. Por ejemplo, os.name es la clave para una de las propiedades del sistema por defecto de Java--el valor contiene el nombre del sistema operativo actual. Utilice la clave para buscar una propiedad en la lista de propiedades y obtener su valor. En mi sistema, cuando busco la propiedad os.name, su valor Windows 95/NT. El tuyo probablemente ser� diferente.

Las propiedades espec�ficas de un programa deben ser mantenidas por el propio programa. Las propiedades del sistema las mantiene la clase java.lang.System. Para m�s informaci�n sobre las propiedades del sistema puedes referirte a: Propiedades del Sistema en la lecci�n Utilizar los Recursos del Sistema.

Se puede utilizar la clase Propierties del paquete java.util para manejar atributos espec�ficos de un programa. Se puede cargar los pares clave/valor dentro de un objeto Propierties utilizando un stream, grabar las propiedades a un stream y obtener informaci�n sobre las propiedades representadas por el objeto Propierties.

.�Seleccionar un Objeto Properties

Frecuentemente, cuando un programa arranca, utiliza un c�digo similar a este para seleccionar un objeto Propierties.

. . .
    // selecciona las propiedades por defecto
Properties defaultProps = new Properties();
FileInputStream defaultStream = new FileInputStream("defaultProperties");
defaultProps.load(defaultStream);
defaultsStream.close();

    // selecciona las propiedades reales
Properties applicationProps = new Properties(defaultProps);
FileInputStream appStream = new FileInputStream("appProperties");
applicationProps.load(appStream);
appStream.close();
. . .

Primero la aplicaci�n selecciona un objeto Properties para las propiedades por defecto. Este objeto contiene un conjunto de propiedades cuyos valores no se utilizan expl�citamente en ninguna parte. Este fragmenteo de c�digo utiliza el m�todo load() para leer el valor por defecto desde un fichero de disco llamado defaultProperties. Normalmente las aplicaciones guardan sus propiedades en ficheros de disco.

Luego, la aplicaci�n utiliza un constructor diferente para crear un segundo objeto Properties applicationProps. Este objeto utiliza defaultProps para proporcionarle sus valores por defecto.

Despu�s el c�digo carga un juego de propiedades dentro de applicationProps desde un fichero llamado appProperties. Las propiedades cargadas en appProperties pueden seleccionarse en base al usuairo o en base al sistema, lo que sea m�s apropiado para cada programa. Lo que es importante es que el programa guarde las Propiedades en un posici�n "CONOCIDA" para que la pr�xima llamada al programa pueda recuperarlas. Por ejemplo, el navegador HotJava graba las propiedades en el directorio raiz del usuario.

Se utiliza el m�todo save() para escribir las propiedades en un canal.

FileOutputStream defaultsOut = new FileOutputStream("defaultProperties");
applicationProps.save(defaultsOut, "---No Comment---");
defaultsOut.close();

El m�todo save() necesita un stream donde escribir, y una cadena que se utiliza como comentario al principio de la salida.

.�Obtener Informaci�n de las Propiedades

Una vez que se han seleccionado las propiedades de un pograma, se puede pedir informaci�n sobre la propiedades contenidas. La clase Properties proporciona varios m�todos para obtener esta informaci�n de las propiedades.

getProperty() (2 versiones)
Devuelve el valor de la propiedad especificada. Una versi�n permite un valor por defecto, si no se encuentra la clase, se devuelve el valor por defecto.
list()
Escribe todas las propiedades en el canal especificado. Esto es �til para depuraci�n.
propertyNames()
Devuelve una lista con todas las claves contenidas en el objeto Properties.
Consideraciones de Seguridad:

Observa que el acceso a las propiedades est� sujeto a la aprobaci�n del manejador de Seguridad. El programa de ejemplo es una aplicaci�n solitaria, que por defecto, no tiene manejador de seguridad. Si se intenta utilizar este c�digo en un applet, podr�a no trabajar dependiendo del navegador. Puedes ver: Entender las Capacidades y Restricciones de un Applet para obtener m�s informaci�n sobre las restricciones de seguridad en los applets.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP