Leer parametros de un fichero .properties

Angel
05 de Noviembre del 2005
Saludos a todo el foro,
Tengo una clase que quiero que lea un parametros .properties pero tengo un problema y es que me salta una excepcion diciendome que no encuentra el recurso:
package properties;

import java.util.*;

public final class BdConfig {

private static ResourceBundle bundle =ResourceBundle.getBundle("properties.bdconfig");

public static String getValue(String key) {

return bundle.getString(key);
}

public static int getIntValue(String key) {

return Integer.parseInt(bundle.getString(key));
}
public static void main(String[] args) {

BdConfig obj = new BdConfig();

System.out.println(BdConfig.getValue("jdbc_driver"));
System.out.println(BdConfig.getValue("jdbc_url"));
System.out.println(BdConfig.getValue("jdbc_user"));
System.out.println(BdConfig.getValue("jdbc_password"));

}
}

Tengo mi fichero bdconfig.properties en el mismo directorio que la clase, es decir, dentro de la carpeta Properties pero no consigo saber porque me da esa excepcion...

Gracias...

chuidiang
05 de Noviembre del 2005
Hola:

Una cosa es el directorio donde esté la clase y otra es el directorio donde se está ejecutando el programa java.

Si lo haces desde una ventana de ms-dos o shell de linux, el directorio es en el que estás en el momento de arrancar el programa (aunque la clase esté en otro directorio).

Si lo haces desde un entorno de desarrollo (netbeans, eclipse, etc) el directorio de ejecución suele ser uno raro que el mismo entorno decide. En las propiedades del proyecto o en algún menú sobre las opciones de ejecución del programa (como la de parámetros de la linea de comandos o variables de entorno) sueles tener opción de decidir cual quieres que sea tu directorio de ejecución.

De todas formas y para verificar esto, con System.getProperty("user.dir") obtienes el directorio actual de ejecución. Puedes escribirlo por pantalla para ver exactamente dónde andas y si coincide con el directorio donde tienes el fichero.

Se bueno

Angel
05 de Noviembre del 2005
Ya he conseguido averiguar qué me pasaba...

Mi estructura de directorios es la siguiente:
AccesoADatos1 -> ficherosproperties->config.properties

y en el código he tenido que poner:
java.util.ResourceBundle retorno = java.util.ResourceBundle.getBundle("accesoadatos1.ficheroproperties.config")

Gracias.