Problemas com arquivo .properties

Estou com o seguinte problema. Criei um arquivo .properties. e não consigo acessar, já coloquei ele na pasta de classes, WebContent, WEB-INF… Mas aperece que não encontrou o arquivo no lugar especificado.

Criei uma aplicação não web só para testar e funciona normalmente.

Quando referêncio o arquivo com:

req.getSession().getServletContext().getRealPath("/WEB-INF/database.properties")

tambem consigo acessar. Mais só com o nome do aruivo ele não acha.

Alguem sabe oque pode ser?

grato,

Rodolfo

Para acessar informando o caminho do arquivo tente assim:

prop.load(new FileInputStream("c:/xpto/xyz.properties"));

Do mesmo lugar que estiver a classe:

public static Properties carregarConfiguracoes() {
		Properties prop = new Properties();
		InputStream is = null;
		System.out.println("Carregando configurações");
		try {
			is = Classe.class.getResourceAsStream("bd.properties");
			prop.load(is);

		} catch (Exception e) {
			e.getMessage();
		}

		return prop;
}

O problema é que nessa aplicação ele acusa que não acha o arquivo. Em qual pasta deve ficar o arquivo .properties??? O caminho do meu properties não pode ser “setado” a mão.

eu já criei uma classe de teste com public static void main(String [] args) com o metodo de leitura de properties e funciona mais na minha aplicação web. ela não encontra o arquivo. Em qual pasta deve ficar o arquivo???

Uso assim:

try{
   Properties defaultProps = new Properties();
   FileInputStream in = new FileInputStream("database.properties");
   defaultProps.load(in);
   in.close();
   System.out.println(defaultProps.getProperty("username"));
} catch (IOException ex) {
   System.out.println(ex.getMessage());
   ex.printStackTrace();
}

Valeu fiz ± isso que você me indicou e funcionou.

try{
   Properties defaultProps = new Properties();
   InputStream in = this.getClass().getResourceAsStream("/database.properties");
   defaultProps.load(in);
   in.close();
   System.out.println(defaultProps.getProperty("username"));
} catch (IOException ex) {
   System.out.println(ex.getMessage()); 
   ex.printStackTrace();
}