Ler um arquivo properties  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
paribe
JWizard
[Avatar]

Membro desde: 22/08/2004 07:34:33
Mensagens: 2057
Offline

Olá pessoal ,

vou criar um arquivo de mensagem.properties

onde vou colocar mensagem de erro pra poder logar

e gravar no banco de dados ...

Minha duvida alguém teria uma rotina pra ler este

arquivo properties do diretorio que vou colocar

e como vai ler a mensagem de erro do arquivo .

exemplo:

mens_erro = "Mensagem de Erro."
mens_0001 = "Cliente não encontrado."
mens_0002 = "Cliente já cadastrado."


Se alguém puder me ajudar agradeceria .....


abs
Mantu
GUJ Ranger
[Avatar]

Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline

Use a classe PropertyResourceBundle. O construtor dela recebe um InputStream, o qual deve estar atrelado ao seu arquivo ".properties".
Daí vc pode utilizar o método getKeys() que te retorna um Enumeration e também o getString(String key) para recuperar os valores das entradas do properties

[]'s
Mantu

"Vou lançar o 'Caguei'. Caguei para o 'Cansei'". Luciano Camargo
"O povo votou contra a opinião pública". Um certo jornalão da mídia golpista, a respeito da vitória de um certo cadidato a presidente do Brasil.

[Email] [MSN] [ICQ]
marceloplis
GUJ Ranger

Membro desde: 22/08/2005 10:08:21
Mensagens: 877
Localização: São Paulo - SP
Offline

Crie duas classes:

1ª classe:


2ª classe:


Para ler uma variavel que está dentro do SEU ARQUIVO.properties:
[Email] [MSN]
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

marceloplis wrote:Crie duas classes:

1ª classe:


2ª classe:


Para ler uma variavel que está dentro do SEU ARQUIVO.properties:


Legal....eu gostaria de saber como fazer para imprimir as váriaveis (ou informações) dentro do seu properties...

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
Mantu
GUJ Ranger
[Avatar]

Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline

Akumaldo,
Acho que a abordagem do marceloplis impede isso....
Uma solução mais trivial, sem envolver a criação de uma classe para fazer o carregamento das variáveis do arquivo properties, poderia ser assim:


Espero ter ajudado. Qq coisa, poste mais, ok?

[]'s
Mantu

"Vou lançar o 'Caguei'. Caguei para o 'Cansei'". Luciano Camargo
"O povo votou contra a opinião pública". Um certo jornalão da mídia golpista, a respeito da vitória de um certo cadidato a presidente do Brasil.

[Email] [MSN] [ICQ]
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

Mantu wrote:Akumaldo,
Acho que a abordagem do marceloplis impede isso....
Uma solução mais trivial, sem envolver a criação de uma classe para fazer o carregamento das variáveis do arquivo properties, poderia ser assim:


Espero ter ajudado. Qq coisa, poste mais, ok?


não entendi como ele faz a leitura das variáveis...podia explicar melhor??

obrigado

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Como funciona um arquivo "properties":

Diferentemente do Windows (onde existem as APIs "GetPrivateProfileString" e "SetPrivateProfileString"), no Java um arquivo "properties" deve ser lido de uma vez só (com "load") e carregado na memória como um objeto do tipo Properties, e escrito de uma vez só (com "store").

(O Windows também faz isso, mas esconde o fato de você).

O tipo Properties funciona como se fosse uma tabela onde você passa a chave e obtém um valor, usando o método "getProperty".
[WWW]
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

Hummmmmmmm estou tendo problemas para acessar as variáveis dentro do arquivo...será que to fazendo certinho????



Esse foi o código que usei para testar...
e criei um teste.properties no e:\\ da minha maquina...

Essas são as exceptions disparadas:
java.lang.ExceptionInInitializerError
java.lang.NullPointerException

Dentro do teste.properties tem só uma linha de teste assim:

NOME = "bruno"

tá errado? aonde estou errando??
obrigado a todos

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
marceloplis
GUJ Ranger

Membro desde: 22/08/2005 10:08:21
Mensagens: 877
Localização: São Paulo - SP
Offline

Cara, para imprimir o que está no seu .properties faz a chamada:

[Email] [MSN]
akumaldo
Java Ninja
[Avatar]

Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline

marceloplis wrote:Cara, para imprimir o que está no seu .properties faz a chamada:



Na linha de execução coloco isso???:
.java:{System.out.println("nome = "+PropertiesLoaderImpl.getValor("nome"));}

"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche
marceloplis
GUJ Ranger

Membro desde: 22/08/2005 10:08:21
Mensagens: 877
Localização: São Paulo - SP
Offline

akumaldo wrote:
Na linha de execução coloco isso???:
.java:{System.out.println("nome = "+PropertiesLoaderImpl.getValor("nome"));}


Vc pode colocar assim no seu .java:

import pacote_onde_colocou_as_classes.*;

System.out.println("nome = "+PropertiesLoaderImpl.getValor("nome"));
ou
String nome = PropertiesLoaderImpl.getValor("nome");
System.out.println("nome = "+nome);
[Email] [MSN]
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

Boa noite Galera !

Pessoal desculpe ressuscitar esse tópico antigo, mas procurei algo e não achei nada...

A minhha dúvida é parecida, mas com uma diferença, eu quero ler o properties fora do jar.

No projeto como esta funciona bem só que o meu configuration.properties esta dentro do jar, na raiz do projeto.
Agora tenho a necessidade de deixar o .properties fora para que possa mudar as configurações sem ter que abrir o jar.

Com o .properties dentro e na raiz do jar, eu leio assim:


Tentei assim, mas ele da um erro que não encontra o arquivo:


Nessa opção o jar esta neste mesmo diretório.

Obrigado.

[]s
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team