SoloCodigo
Programación General => Java => Mensaje iniciado por: MercedesH en Lunes 10 de Noviembre de 2008, 15:38
-
Hola..
Tengo el siguiente problema, actualmente estoy leyendo el archivo properties de la siguiente manera:
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(arch.properties);
prop.load(is);
donde arch.properties esta dentro del proyecto, el punto es que necesito colocar este archivo fuera, lo coloque en un directorio creado en el directorio raiz, pero al ejecutar me da error. Consegui un ejemplo donde lo hacen con:
InputStream is = new FileInputStream(arch.properties.getAbsolutePath());
prop.load(is);
y aparentemente funciona. Quisiera saber cúal es la diferencia entre una forma y otra? Y que puede repercusiones pueda tener en el proyecto?
Gracias, de antemano
-
lo coloque en un directorio creado en el directorio raiz, pero al ejecutar me da error
Normal, porque no encuentra el fichero.
arch.properties.getAbsolutePath()
Así obtienes la ruta completa del fichero, con lo que no hay confusión ni pérdida sobre dónde se encuentra el fichero.
Y que puede repercusiones pueda tener en el proyecto?
En principio, ninguna, a menos que uses el fichero en otras partes del proyecto, que tendrás que modificar la ruta tal y como has hecho.
-
OK, muchas gracias...
Podrías indicarme cual es la diferencia entre una forma y otra?
-
Thread.currentThread().getContextClassLoader().getResourceAsStream(arch.properties);
Aquí obtienes un recurso del actual hilo de ejecución.
new FileInputStream(arch.properties.getAbsolutePath());
Aquí abres el recurso como un fichero normal.
Saludos.
-
OK, muchas gracias