Praticamente todos os programas precisam de algum tipo de configuracao, e uma forma tradicional (e bastante simples) de fazer isso com Java envolve os arquivos de propriedades, atraves da classes java.util.Properties.
A classe java.util.Properties guarda um conjunto de pares nome=valor, que podem ser lidos ou gravados em um arquivo. Alem disso, a classe Properties traz facilidades para voce acessar as propriedades e definir valores padrao. No exemplo abaixo, vamos carregar as propriedades padrao de um arquivo ("padrao.properties"), depois ler as propriedades salvas pelo usuario ("salvas.properties"), fazer algumas modificacoes, e depois salvar para uma proxima execussao do programa: import java.util.Properties; . . . // Cria e le os valores padrao Properties defaultProps = new Properties(); FileInputStream in = new FileInputStream("padrao.properties"); defaultProps.load(in); in.close(); // Cria objeto de configuracao, com os valores padrao Properties applicationProps = new Properties(defaultProps); // Carrega as propriedades configuradas na ultima execussao in = new FileInputStream("salvas.properties"); applicationProps.load(in); in.close(); . . . // Utilizamos as propriedades quando precisarmos String nome = applicationProps.getProperty("nome.usuario"); String servidor = applicationProps.getProperty("servidor.ip"); . . . // Modificamos os valores das (ou criamos novas) propriedades applicationProps.setProperty("nome.usuario", "Bruno JavaMan"); applicationProps.setProperty("nova.propriedade", "12345"); . . . // Salvamos para uma proxima execussao FileOutputStream out = new FileOutputStream("salvas.properties"); applicationProps.store(out, "---Aqui vai um comentario ---"); out.close(); . . . O codigo acima utiliza duas propriedades cujos nomes sao "nome.usuario" e "servidor.ip". Eh comum utilizamros como nomes de propriedades nomes.separados.por.pontos ou entao NomesComIniciaisMaiusculas, seguindo os padroes de nomenclatura de Java. Eh tambem comum que o arquivo de propriedades tenha a extensao ".properties", e no exemplo acima, o arquivo salvas.properties teria ao final um conteudo similar a: #---Aqui vai um comentario --- #Wed Jun 26 18:10:46 BRT 2002 nome.usuario=Bruno JavaMan servidor.ip=10.0.0.1 nova.propriedade=12345 Observe que o metodo Properties.getProperty() sempre devolve uma String, e no caso da propriedade "nova.propriedade", esse valor teria que ser convertido para um tipo numerico no momento de leitura. Atualmente o uso de XML como forma de armazenar arquivos de configuracao vem ganahando popularidade, mas os arquivos de propriedades continuam ser uma forma simples e eficaz de gerenciar configuracoes simples. Bons códigos!!! Boletim Dicas Java - Sua dose diária de Java Bruno. ______________________________________________________________________ Bruno Peres Ferreira de Souza Brazil's JavaMan http://www.javaman.com.br mailto:[EMAIL PROTECTED] if I fail, if I succeed, at least I live as I believe ================================================================ Dicas-Java circula diariamente com pequenas dicas sobre a plataforma Java e é mantido pela Sociedade de Usuários Java - SOUJAVA (http://www.soujava.org.br) - Quer contribuir com uma dica sobre Java? Envie um e-mail para [EMAIL PROTECTED] - Participe de outras listas de discussão sobre a linguagem Java. Saiba mais em http://www.soujava.org.br/lista.htm ------------------------------------------------------------------ - Para assinar este boletim envie um e-mail para [EMAIL PROTECTED] - Para cancelar sua assinatura envie um e-mail para [EMAIL PROTECTED] - O histórico das Dicas-List pode ser encontrado em http://www.mail-archive.com/dicas-list%40soujava.org.br