Weblog de Victor Ramirez

Sábado, septiembre 11, 2010

Manejo de Properties en Java

Archivado en: java, netbeans, tips — Etiquetas: , , , — vramirez @ 11:21 am

Hace pocos días un compañero de la oficina estaba revisando una aplicación en la que tenía que cambiar un párametro debido a un nuevo requerimiento. Me comentó que para cambiar el valor debía modificar el código y luego recompilar la aplicación (cada vez que dicho valor cambiara) y entregar de nuevo al cliente. Le dije que por qué no hacía un archivo de propiedades y leía desde ahí ya que es sencillo. El me miró medio confundido y me pidió que le explicara un poco más, a lo cual respondí diabólicamente: “averígualo, googlealo” (muahahahaaa!). Hoy que tengo un poco de tiempo libre explicaré con un breve ejemlo como crear un archivo “.properties” leer y guardar en este, valores como parámetros, asi en caso de que cambian las necesidades simplemente modificaremos el archivo. No es la solución ideal, pues si alguien borra (por accidente y sin ninguna mala intención ;) ) nuestro archivo, la aplicación (según lo que hayamos codificado) podría desintegrarse ante nuestros ojos. Sin embargo es un muy buen método para “salir del paso”. Basta de cháchara, empezemos. Lo que haremos es lo siguiente: crear un archivo y que la aplicación lea de este sin tanto complique, para ellos creemos un proyecto Java Application y denominémosle “TestProperties”

Hacemos clik derecho en el proyecto damos click derecho “New”–> “Other” Seleccionamos de nuevo “Other” y “Properties File”. Damos “Next” y luego cambiamos solamente el nombre del archivo por “variables” y por último “Finish”. En la raíz del proyecto queda un archivo denominado “variables.properties” damos doble click en el archivo.

Ubicación archivo .properties

Hacemos doble click en este archivo. Debajo de las línes de comentario (que pueden borrar si gustan) colocan las siguientes líneas:

var1=Hello World

var2=Bye World

Algo asi:

Contenido del archivo .properties

Es recomendable que se deje una línea para cuando se agreguen (si se requieren) nuevas variables

Abrimos la clase Main y dentro del método main codificamos así:

public static void main(String[] args) {
        try {
            // TODO code application logic here
            Properties props = new Properties();
            props.load(new FileInputStream("variables.properties"));
            System.out.println(props.getProperty("val1"));
            System.out.println(props.getProperty("val2"));
        } catch (IOException ex) {
            System.out.println("Error: "+ex);
        }
    }
El resultado de esta ejecución debe ser:
De esta misma forma se pueden insertar en el código valores y asignarlos a variables dentro del código sin tener que reemplazar ni mucho menos compilar nuevamente la aplicación. También se puede guardar propiedades en el archivo, pero eso “averígüenlo, googleen!” (muahahahaaaaa). Pista: métodos setProperty y store de la clase Properties
Pd: no es necesario que el archivo tenga una extensión .properties, la extensión puede ser cualquiera. En este caso es cuestión de conveniencia, de este modo NetBeans sabrá como abrirlo y mostrarlo.

4 comentarios »

  1. donde encuentro todo el codigo del programa . porfa…

    Comentario por luis — Miércoles, septiembre 29, 2010 @ 10:10 am

  2. Hola, gracias por leer el blog. Lo montaré tan pronto pueda y avisaré por acá.

    Comentario por vramirez — Lunes, noviembre 29, 2010 @ 8:53 am

  3. pero si encesito guardar los datos que genero en el programa para q esten alli en la proxima apertura q hago puedo emplear un archivo propertis?

    Comentario por jakeline — Martes, abril 10, 2012 @ 3:44 pm

  4. y por que cuando lo vulevo JAR no lo encuentra, donde debo colocar el archivo properties?

    Comentario por ar_ginez — Lunes, abril 16, 2012 @ 4:48 pm


RSS feed para los comentarios de esta entrada. URI para TrackBack.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Tema Shocking Blue Green. Blog de WordPress.com.

Seguir

Get every new post delivered to your Inbox.