Carregar um arquivo em aplicação web

4 respostas
renatosilva

Tenho um arquivo “application.properties” na pasta WEB-INF da aplicação e tento carregá-lo com

InputStream stream = new FileInputStream("/WEB-INF/application.properties");
properties.load(stream);

Semelhante ao que li numa apostila, so que lá ele pegava o arquivo através do contexto do servlet, mas estou usando uma classe java normal.

Já tentei sem o “/” inicial, e o nome do arquivo é esse mesmo.

Como eu faria para indicar o caminho do arquivo em uma classe normal?

4 Respostas

fcmartins

Sé é uma aplicação web, use:

InputStream stream = getServletContext().getResourceAsStream("/WEB-INF/application.properties");

Se não é web, você pode acessar direto com a classe File.

renatosilva

Mas como seria o path? O path usado com servlet não funciona.

renatosilva

Caro renato3110,

Você terá que indicar o path literal com o código que você está usando.

Não sei um jeito de dar um getServletContext() numa classe normal, acho que não dá, mas você poderia ver se dá pra fazer isso no JSP, usando o código que o fcmartins indicou, então você forneceria o InputStream para a classe (no construtor por exemplo), que ficará até mais abstraída, pois ela será independente de como foi gerado esse InputStream e qual a sua implementação.

renatosilva

Puxa, realmente funcionou!! Obrigado renato3110!!!

:smiley: :smiley: :smiley: :smiley:

Criado 17 de fevereiro de 2005
Ultima resposta 18 de fev. de 2005
Respostas 4
Participantes 2