Properties

Estou utilizando um arquivo .properties em uma aplicação web e preciso carregar este arquivo mas nao esta funcionado. O codigo eh o seguinte:

	try {
		fileName = "planned.properties";
		File file = new File(fileName);
		Properties p = new Properties();
		FileInputStream fis = new FileInputStream(file);
		p.load(fis);
		fis.close();
		p.list(System.out);
		return p;
	} catch (Exception e) {
		return null;
	}

o arquivo planned.properties esta no diretorio classes mas quando eu executo ele falla q nao encontrou o arquivo. Alguem sabe o q pode ser?

OBS: utilizo Linux, JSF e Facelets

Em aplicações Web evite usar FileInputStream para carregar arquivos .properties.

Normalmente o que você faz é o seguinte:

  • Ponha seu arquivo “planned.properties” em um subdiretório de WEB-INF/classes. Digamos que você o tenha posto em WEB-INF/classes/resources/planned.properties
  • Obtenha uma InputStream usando getClass().getClassLoader().getResourceAsStream ("/resources/planned.properties").

nao entendi o pq evitar o FileInputStream?

A menos que você especifique um nome absoluto para o arquivo (por exemplo, “/home/usuario/sistema/projeto/dados/configuracoes/planned.properties”) é difícil saber qual é o diretório corrente do seu application server, para que você possa usar FileInputStream com nomes relativos.

vlw mesmo funcionou 100% :lol: