Cuando usamos esta clase pueden ocurrir las siguientes excepciones:
java.io.FileNotFoundException: no se encuentra el archivo
java.io.IOException: ocurrió un problema al leer el archivo
Crear el archivo de propiedades
Para indicar las propiedades se usa la forma nombre=valor, si quisieramos escribir la propiedad en dos lineas tendriamos que usar el simbolo '\'. Los comentarios inician con #.
Para nuestro ejemplo crearemos el archivo propiedades.txt con el siguiente contenido:
# esto es un comentario
edad=15
nombre=Pedro \
Gómez
Para escribir
#, !, =, : tienen que estar precedidos por un backslash (\).Lectura de Propiedades
Para leer una a una las propiedades se hace lo siguiente:
try{
//creamos el objeto para almacenar las propiedades
Properties p = new Properties();
//cargamos el archivo
p.load(new FileInputStream("propiedades.txt"));
//obtenemos las propiedades
System.out.println("nombre = " + p.getProperty("nombre"));
System.out.println("edad = " + p.getProperty("edad"));
}
catch (Exception e) {
System.out.println(e);
}
Recorrido de las propiedades
Para leer todas las propiedades se hace lo siguiente:
try {
//creamos el objeto para almacenar las propiedades
Properties p = new Properties();
//cargamos propiedades, de esta forma podremos añadir y modificar las propiedades de este archivo
p.load(new FileInputStream("propiedades.txt"));
//obtenemos una enumeracion con los nombres de las propiedades
Enumeration propiedades=p.propertyNames();
//hacemos un ciclo para obtener todas las propiedades
while (propiedades.hasMoreElements()){
String propiedad=(String)(propiedades.nextElement())
System.out.println ( propiedad + "= " + p.getProperty(propiedad));
}
}
catch (Exception ex){
System.out.println(ex);
}
El método propertyNames() devuelve una enumeracion con los nombres de las propiedades.
El método nextElement() nos devuelve un objeto diferente la enumeracion en cada iteración del ciclo.
Escritura de Propiedades
try{
//creamos el objeto para almacenar las propiedades
Properties p = new Properties();
//cargamos propiedades, de esta forma podremos añadir y modificar las propiedades de este archivo
p.load(new FileInputStream("propiedades.txt"));
//añadimos propiedades
p.setProperty("direccion","Panama");
//cambiamos la propiedad edad
p.setProperty("edad","20");
//Decimos el nombre del archivo de destino para grabar las propiedades
java.io.FileOutputStream out = new java.io.FileOutputStream("propiedades.txt");
//Grabamos las propiedades en el archivo
p.store(out, "nuevas propiedades");
}
catch (Exception e) {
System.out.println(e);
}


