lunes, 11 de junio de 2012

Parametros en aplicaciones

Muchas veces es necesario tener archivos de configuración en las aplicaciones, esto es para poder indicarle a la aplicación algun parámetro o valor para su correcta ejecución, por ejemplo, la dirección de un servidor o guardar alguna ruta de un directorio.

Para ello java cuenta con una clase llamada Properties, veamos un breve ejemplo.

Tenemos una aplicación que debe conectarse a una base de datos, para ellos dispone de un archivo donde almacena la dirección ip del servidor, el usuario, la contraseña y el nombre de la base de datos:


import java.io.*;
import java.util.Properties;

public class Propiedades {
  
  
  public boolean setConfiguracion(Properties datos) {
    boolean setConfiguracion = false;
    try {
      FileOutputStream out = new FileOutputStream("archivo.txt");
      
      datos.store(out,"Propiedades");
      
      out.close();
      out = null;
      
      setConfiguracion = true;
    } catch(IOException e) {
      setConfiguracion = false;
      System.err.println(e.getMessage());
    }
        
    return setConfiguracion;   
  }
  
  
  public Properties getConfiguracion() {

    Properties datos = new Properties();
    
    try {
      
      FileInputStream in = new FileInputStream("archivo.txt");
      
      datos.load(in);
      
      in.close();
      in = null;
      
    } catch(IOException e) {
      System.err.println(e.getMessage());
    }
  
    return datos;
  }


  public static void main(String[] args) {
    
    Propiedades propiedades = new Propiedades();
    
    //Creamos las propiedades
    
    Properties prop = new Properties();
    prop.setProperty("HOST","localhost");
    prop.setProperty("USUARIO","root");
    prop.setProperty("PASSWORD","password");
    prop.setProperty("BASEDEDATOS","clientes");
    
    //Las guardamos en el archivo
    propiedades.setConfiguracion(prop);
    
    
    //Las recuperamos
    
    Properties prop2 = propiedades.getConfiguracion();
    
    System.out.println("HOST: "+prop2.get("HOST"));
    System.out.println("Usuario: "+prop2.get("USUARIO"));
    System.out.println("Password: "+prop2.get("PASSWORD"));
    System.out.println("Base de datos: "+prop2.get("BASEDEDATOS"));

  }
  
  
}
		

 

 

No hay comentarios:

Publicar un comentario