feed twitter facebook LinkedIn facebook

Java » Modificar valores de un fichero Properties

Diciembre 23, 2007 por Víctor Cuervo . 12636 visitas 12 Comentarios Imprimir Imprimir

Los ficheros de propiedades nos sirven para guardar pares clave/valor que normalmente contienen información variable utilizada por nuestro programa. Estaríamos hablando de ficheros de configuración.

Así, a bote pronto, se me ocurren cosas como URLs a las que acudir por información, datos sobre el usuario/password, números que representen límites de nuestras ejecuciones,...

Los ficheros de propiedades se cargan en los arranques de las aplicaciones y es en este momento cuando pasamos a tener un objeto Properties, el cual contendrá los pares clave/valor.

Para realizar la carga de un fichero de propiedades haríamos lo siguiente:

try {
      is=new FileInputStream("fichero.prop");
      prop.load(is);
    } catch(IOException ioe) {ioe.printStackTrace();}

Lo más normal es leer el contenido de los pares clave/valor, si bien, también podemos modificar el valor de las claves. Para modificar el valor de las claves simplemente tendremos que utilizar el método .setProperty sobre el objeto Properties.

prop.setProperty("nombre", "ayudaenlaweb");
prop.setProperty("web", "http://ayudaenlaweb.blogspot.com");

Los parámetros del método son la clave y el valor de la clave. Así, en nuestro código las claves son nombre y email.

Es muy importante saber que al utilizar el método .setProperty no se modifica el valor que está almacenado en el fichero de propiedades.

Para ver la utilidad de los métodos podemos listar el valor de las claves antes y después de la modificación. El código final sería el siguiente:

// Listamos las propiedades
System.out.println("PROPIEDADES POR DEFECTO");
for (Enumeration e = prop.keys(); e.hasMoreElements(); ) {
  Object obj = e.nextElement();
   System.out.println(obj + ": "
    + prop.getProperty(obj.toString()));
}

// Modificamos los valores
prop.setProperty("nombre", "ayudaenlaweb");
prop.setProperty("web", "http://ayudaenlaweb.blogspot.com");

// Volvemos a listar los valores
System.out.println("PROPIEDADES MODIFICADAS");
for (Enumeration e = prop.keys(); e.hasMoreElements(); ) {
   Object obj = e.nextElement();
   System.out.println(obj + ": "
     + prop.getProperty(obj.toString()));
}

Visualizar el ejemplo | Descargar Código

tags: , , , ,

Artículos relacionados:

12 comentarios »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

1 2
  1. Víctor Cuervo
    Enero 25, 2012 #

    @eso es lo que pasa,

    Como comentan @Jose Miguelq y @Hernan (que lo acompaña de un ejemplo), para persistirlo tenemos que utilizar el Props.Store

    Espero poderos publicar un ejemplo simple con este uso en breve.

    Gracias por los comentarios.

  2. Víctor Cuervo
    Febrero 22, 2012 #

    Ya tenemos el ejemplo para guardar los Properties en http://lineadecodigo.com/java/guardar-unos-properties-con-java/

    Espero que os sirva. :-D

1 2

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*