Revista Informática

Java desde Cero: Archivo de propiedades

Publicado el 23 mayo 2014 por Codehero @codeheroblog

¿Qué es un archivo properties?

Un archivo de propiedades Java es un documento en el cual podemos almacenar propiedades de configuración de nuestra aplicación.


¿Como creamos un archivo properties?

Para crear el archivo properties lo único que necesitamos es crear un archivo con la extensión .properties en la carpeta de nuestro proyecto.

Dicho archivo debe contener lo siguiente:

nombre_propiedad=valor_propiedad

1 nombre_propiedad=valor_propiedad

¿Cómo obtener los valores de las propiedades en nuestra app?

Para obtener los valores que tenemos registrados en nuestro archivo para usarlo en nuestra aplicación debemos hacer lo siguiente:

  • Cargar con ayuda de la clase java.io.InputStream el contenido del archivo properties.
  • Hacer uso del método getProperty(nombre_propiedad) de la clase java.util.Properties para poder extraer el valor de dicha propiedad.

Veamos un ejemplo:

Primero que nada vamos a crear un archivo properties con las siguientes propiedades dentro de la carpeta de nuestra aplicación:

basedatos=prueba usuario=carlos clave=123456

123 basedatos=pruebausuario=carlosclave=123456

El archivo lo vamos a denominar configuracion.properties es importante mantener la extensión .properties.

Una vez que tengamos el archivo creado hacemos lo siguiente:

import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class PruebaArchivoPropiedades { public static void main(String[] args) { Properties propiedades = new Properties(); InputStream entrada = null; try { entrada = new FileInputStream("configuracion.properties"); // cargamos el archivo de propiedades propiedades.load(entrada); // obtenemos las propiedades y las imprimimos System.out.println(propiedades.getProperty("basedatos")); System.out.println(propiedades.getProperty("usuario")); System.out.println(propiedades.getProperty("clave")); } catch (IOException ex) { ex.printStackTrace(); } finally { if (entrada != null) { try { entrada.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

12345678910111213141516171819202122232425262728293031323334353637 import javaioFileInputStream;import javaioIOException;import javaioInputStream;import javautilProperties;publicclassPruebaArchivoPropiedades{  publicstaticvoidmain(String[]args){  Properties propiedades=newProperties();  InputStream entrada=null;  try{  entrada=newFileInputStream("configuracion.properties");  // cargamos el archivo de propiedades  propiedadesload(entrada);  // obtenemos las propiedades y las imprimimos  Systemoutprintln(propiedadesgetProperty("basedatos"));  Systemoutprintln(propiedadesgetProperty("usuario"));  Systemoutprintln(propiedadesgetProperty("clave"));  }catch(IOException ex){  exprintStackTrace();  }finally{  if(entrada!=null){  try{  entradaclose();  }catch(IOExceptione){  eprintStackTrace();  }  }  }  }}

Si ejecutamos el código anterior deberíamos obtener lo siguiente:

prueba carlos 123456

123 pruebacarlos123456


¿Cómo escribimos un archivo properties?

Para guardar los valores en propiedades y luego guardarlas un archivo de propiedades debemos hacer lo siguiente:

  • Hacer uso del método setProperty(nombre_propiedad, valor_propiedad) de la clase java.util.Properties para poder asignar el valor a dicha propiedad.
  • Guardar con ayuda de la clase java.io.OutputStream el contenido del archivo properties.

Veamos un ejemplo:

import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Properties; public class PruebaArchivoPropiedades { public static void main(String[] args) { Properties propiedades = new Properties(); OutputStream salida = null; try { salida = new FileOutputStream("configuracion.properties"); // asignamos los valores a las propiedades propiedades.setProperty("basedatos", "codehero"); propiedades.setProperty("usuario", "carlos"); propiedades.setProperty("clave", "123456"); // guardamos el archivo de propiedades en la carpeta de aplicación propiedades.store(salida, null); } catch (IOException io) { io.printStackTrace(); } finally { if (salida != null) { try { salida.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

123456789101112131415161718192021222324252627282930313233343536 import javaioFileOutputStream;import javaioIOException;import javaioOutputStream;import javautilProperties;publicclassPruebaArchivoPropiedades{  publicstaticvoidmain(String[]args){  Properties propiedades=newProperties();  OutputStream salida=null;  try{  salida=newFileOutputStream("configuracion.properties");  // asignamos los valores a las propiedades  propiedadessetProperty("basedatos","codehero");  propiedadessetProperty("usuario","carlos");  propiedadessetProperty("clave","123456");  // guardamos el archivo de propiedades en la carpeta de aplicación  propiedadesstore(salida,null);  }catch(IOException io){  ioprintStackTrace();  }finally{  if(salida!=null){  try{  salidaclose();  }catch(IOExceptione){  eprintStackTrace();  }  }  }  }}

Si ejecutamos el código anterior deberíamos obtener lo siguiente en el archivo configuracion.properties:

#Sat May 21 12:10:27 MYT 2014 basedatos=codehero usuario=carlos clave=123456

1234 #Sat May 21 12:10:27 MYT 2014basedatos=codeherousuario=carlosclave=123456


Conclusión

En esta lección, vimos todo lo relacionado a la creación y uso de archivos de propiedades dentro del mundo de Java. Si tienes alguna pregunta, yo estaré feliz de responderte en los comentarios, además espero que te unas y le eches un vistazo a todo el resto de este curso.

¡Te espero la próxima semana!


Volver a la Portada de Logo Paperblog