Carregar um arquivo em aplicação web

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?

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.

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

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.

Puxa, realmente funcionou!! Obrigado renato3110!!!

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