Leer Archivo Properties en Java

Publicado el 13 mayo 2013 por Cristian David Henao Hoyos @chenaooo
En el segundo Post de este blog se mencionó la intención de publicar entradas sobre diversos temas, algunos complejos otros no tanto.........hasta aquí se han publicado cositas no tan complejas pero que pueden llegar a ser enredadas o de cuidado.

En esta ocasión veremos una entrada sobre algo simple y fácil de entender pero que nos puede ser de mucha ayuda.


Veremos de forma breve como trabajar con un archivo de propiedades desde java, estos archivos son simplemente ficheros de texto que podemos usar para almacenar información, inicializar variables, establecer mensajes o en general definir parámetros (en tutoriales anteriores hicimos uso de este tipo de archivos para definir rutas de servidores o parametros de configuración).
En java trabajaremos con java.util.Properties donde básicamente necesitamos especificar nuestros parámetros mediante la combinación "Clave - Valor" y usar los métodos básicos que esta clase nos proveé, un ejemplo simple puede darse con el tema de la internacionalización, podemos crear archivos properties para definir todos los labels o etiquetas que usaremos en la aplicación para diferentes idiomas y dependiendo del idioma que escogemos buscamos el valor a presentar en pantalla en su archivo correspondiente.
Otro ejemplo es que en la empresa donde trabajo nos encontramos desarrollando una aplicación que genera una serie de reportes de Excel y se deben almacenar en unas rutas especificas, son muchos reportes que se almacenan en rutas diferentes, por eso podríamos hacer que esas rutas de directorios se puedan parametrizar en un archivo properties y no  quemadas en código.
Empecemos!!!
Para este caso vamos a crear un proyecto Java básico, donde definiremos dos paquetes, uno para las clases y otro para el archivo.properties.

Luego desde el paquete properties damos click derecho y creamos un nuevo archivo de propiedades.

Se carga una ventana donde ingresamos archivo.propierties, siendo este el nombre y la extensión del archivo.
Después de esto ya contamos con un panel donde podemos editar el archivo de propiedades, presionando el botón Add podemos empezar a agregar parámetros con la combinación Clave - Valor.


 O desde la vista Source podemos agregarlos directamente.

Para poder acceder a estos datos desde el código fuente, haremos uso de los métodos load y getProperty que nos provee la clase Properties.

En la clase principal de nuestra aplicación creamos un método donde realizaremos el cargue y obtención de datos desde el archivo de propiedades.


package clases;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
* @author CHENAO
*
*/
public class Principal {
public static void main(String arg[]) {
Principal miPrincipal = new Principal();
miPrincipal.leerArchivo();
}
/**
* Lee un archivo de propiedades desde una ruta especifica
* y se imprime en pantalla.
*/
private void leerArchivo() {
try {

/**Creamos un Objeto de tipo Properties*/
Properties propiedades = new Properties();

/**Cargamos el archivo desde la ruta especificada*/
propiedades
.load(new FileInputStream(
"D:/HENAO/codejavu/Workspace/PruebaProperties/src/properties/archivo.properties"));
/**Obtenemos los parametros definidos en el archivo*/
String nombre = propiedades.getProperty("nombre");
String pagina = propiedades.getProperty("pagina");
/**Imprimimos los valores*/
System.out.println("Nombre: "+nombre + "\n" +"Pagina: "+ pagina);


} catch (FileNotFoundException e) {
System.out.println("Error, El archivo no exite");
} catch (IOException e) {
System.out.println("Error, No se puede leer el archivo");
}
}
}

Al correr nuestra aplicación podemos ver como se obtienen los datos desde la ruta enviada en el método load.
si queremos podemos almacenar el archivo en otra ruta, por ejemplo la del servidor de aplicaciones y luego enviarla como parámetro...................................... al final la salida es

Y listo, ya obtuvimos los datos desde el archivo de propiedades, la clase Properties nos provee mas métodos que podemos utilizar dependiendo de lo que necesitemos hacer, podemos sobre-escribir los valores, almacenar datos en otro fichero entre otros...Mas adelante publicare otras cositas sencillas pero de Utilidad.
También te podría Interesar. 

¿Hay algo que quieras anexar o comentar sobre esta entrada?  no dudes en hacerlo....