Localización de un fichero (recurso) en el proyecto Java para su lectura

Imagina que tienes que incluir en tu proyecto de Java (de cualquier tipo) un fichero en el que tienes cierta plantilla para que el usuario de la aplicación (más bien el administrador) pueda editar la plantilla y hacer unos cambios. Si ese fichero no es un .properties clásico, lo deberás dejar dentro de un directorio de la aplicación.

Por ejemplo lo podemos dejar en src/main/resources/plantilla.sql

¿Cómo accedemos desde una clase de Java a este fichero para su lectura?

La mejor manera es usar la funcionalidad para encontrar un recurso del ClassLoader de este modo:

URL fileLocation = getClass().getClassLoader().getResource("plantilla.sql");

Con esta instrucción busca en todo el classpath hasta encontrar el fichero. Si el fichero estuviera fuera del classpath podemos anteponer un “.” de modo que sería:

URL fileLocation = getClass().getClassLoader().getResource(".plantilla.sql");

Una vez tenemos la localización, podemos sacar el path completo y usarlo para generar un objeto de la clase File que podamos leer con una librería de Apache FileUtils por ejemplo

File plantillaSQL = new File(fileLocation.getFile());
String plantilla = FileUtils.readFileToString(labelFile);
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s