Crear y usar archivo de propiedades en aplicaciones java
 Las aplicaciones generalmente utilizan parámetros que requieren ser modificados una vez compilada la aplicación pero no son lo suficientemente variables como para estar dependiendo de su configuración de parte del usuario cada que se ejecuta la aplicación, estos parámetros pueden ser las credenciales de una base de datos o los puertos y direcciones ip que la aplicación pueda utilizar internamente para su funcionamiento.
Las aplicaciones generalmente utilizan parámetros que requieren ser modificados una vez compilada la aplicación pero no son lo suficientemente variables como para estar dependiendo de su configuración de parte del usuario cada que se ejecuta la aplicación, estos parámetros pueden ser las credenciales de una base de datos o los puertos y direcciones ip que la aplicación pueda utilizar internamente para su funcionamiento.
Así que veremos como crear un archivo de propiedades y leer estas propiedades desde nuestra aplicación para hacer uso de esta información.
Caso de uso: Credenciales para la conexión a una base de datos.
Lo primero que debemos hacer es crear un archivo de texto plano .properties en la carpeta raíz de nuestro proyecto con la información que deseamos utilizar.
Una vez creado pasamos a la programación.
Ahora solo queda usar la información del archivo dentro de nuestra aplicación, lo cual se logra utilizando el método
.getProperty() pasando como parámetro un string con el nombre de la propiedad deseada, por ejemplo para obtener el nombre de la base de datos seria así:
.getProperty("namedatabase") lo que nos regresa como resultado el valor que contenga esa propiedad.
namedatabase = testdb
port = 5050
server= mysql
username = usuario
p assword = contraseña
port = 5050
server= mysql
username = usuario
p assword = contraseña
Una vez creado pasamos a la programación.
Properties properties = new java.util.Properties();
try {
    properties.load(new java.io.FileInputStream("test.properties"));
} catch (Exception ee) {
    System.out.println(ee.toString());
}
En donde test.properties corresponde al nombre del archivo de propiedades que creamos previamente, este puede tener un nombre al gusto del programador.
Ahora solo queda usar la información del archivo dentro de nuestra aplicación, lo cual se logra utilizando el método
.getProperty() pasando como parámetro un string con el nombre de la propiedad deseada, por ejemplo para obtener el nombre de la base de datos seria así:
.getProperty("namedatabase") lo que nos regresa como resultado el valor que contenga esa propiedad.
String nameDataBase = properties.getProperty("namedatabase");
int port = Integer.parseInt(properties.getProperty("port"));
String server = properties.getProperty("server");
String user = properties.getProperty("username");
String pass = properties.getProperty("password");
Entonces ahora podemos disponer de esta información desde su variable correspondiente y podemos probarlo de la siguiente manera.int port = Integer.parseInt(properties.getProperty("port"));
String server = properties.getProperty("server");
String user = properties.getProperty("username");
String pass = properties.getProperty("password");
System.out.println(String.format("%s %d %s %s %s", nameDataBase, port, server, user, pass));
A lo que obtendremos como salida:
testdb 5050 mysql  usuario  contraseña
Finalmente  el ejemplo completo se vería así.
 
0 Comentarios