Arquivo .properties

5 respostas
T

Pessoal eu não consigo usar esse tipo de arquivo. Eu sei que tenho que coloca-lo na mesma pasta da aplicação, mas não sei onde quando se usa o NetBeans.
Eu fiz o seguinte código num jButton:

File file = new File("config.properties"); Properties props = new Properties(); FileInputStream fis = null; //FileOutputStream fis = null; try { fis = new FileInputStream(file); //lê os dados que estão no arquivo props.load(fis); fis.close(); } catch (IOException ex) { System.out.println(ex.getMessage()); ex.printStackTrace(); } String Driver = props.getProperty("Driver"); String URL = props.getProperty("url"); String Usuario = props.getProperty("username"); String Senha = props.getProperty("password"); System.out.println("Driver: "+ Driver); System.out.println("URL: "+ URL); System.out.println("Usuario: "+ Usuario); System.out.println("Senha: "+ Senha);
Eu criei o arquivo config.properties só não sei onde coloca-lo.
Ai quando eu clico no jButton da aplicação aparece o seguinte erro:

e é claro que o resultado das Strings é null.
O que devo fazer para rodar isso? Obrigado.

5 Respostas

T

Para ler “properties” não use new FileInputStream (“config.properties”) mas algo parecido com getClass().getClassLoader().getResourceAsStream(“config.properties”) ou Thread.currentThread().getClassLoader().getResourceAsStream(“config.properties”)

marcelo_mococa

coloque no seu classpath, ou seja, dentro da pasta source do seu projeto.

Você pode pegá-lo assim:

Properties props = new Properties();
FileInputStream fis = Thread.currentThread().getContextClassLoader().getResourceAsStream("<seu pacote>.config.properties");
props.load(fis);

Tente aê…

rissato

se vc colocar na mesma pasta onde está essa classe aí deve dar certo tb…

T

marcelo_mococa, eu fiz o que você sugeriu, mas dá erro. Dá o seguinte:

O que fazer?
Obrigado

marcelo_mococa

Opa… corrigindo o código…

Properties props = new Properties();
 InputStream fis = Thread.currentThread().getContextClassLoader().getResourceAsStream("<seu pacote>.config.properties");
 props.load(fis);

foi mal… :oops:

Criado 23 de maio de 2007
Ultima resposta 24 de mai. de 2007
Respostas 5
Participantes 4