Estou fazendo uma aplicacao desktop e preciso salvar uma serie de configuracoes conforme os dados informados pelo usuario em um arquivo XML, para posterior leitura por outra aplicacao.
Eu uso bastante a biblioteca JDOM para ler XMLs, mas nao sei se esta é a melhor opcao para gravar.
Alguem tem sugestoes? Se o JDOM é bom pra isso tambem ou se teria que fazer algo na forca bruta com SAX?
Como é configuração (poucos dados, não estruturados, e normalmente precisamos de todos os dados, não somente um subconjunto), use o JDOM mesmo, que provavelmente é a melhor solução para o seu caso.
O pacote do Jakarta Apache (digester) foi escrito para ler a configuração dos produtos do projeto Apache, mas é meio complicado de usar e não é particularmente muito eficiente.
Se as configurações são guardadas em um único objeto Java e esse objeto for serializável, e se a outra aplicação for Java também e estiver sob seu controle, e se você for preguiçoso, vocè pode usar java.beans.XMLEncoder e java.beans.XMLDecoder.
Ironlynx
Estou fazendo uma aplicacao desktop e preciso salvar uma serie de configuracoes conforme os dados informados pelo usuario em um arquivo XML, para posterior leitura por outra aplicacao.
publicclassUsuarioimplementsjava.io.Serializable{publicfinalStringnome;publicfinalStringsobrenome;publicfinalStringendereco;publicfinalStringcep;publicfinalStringtelefone;publicfinalStringcpf;publicfinalStringdata_nasc;publicfinalStringestado;publicUsuario(Stringnome,Stringsobrenome,Stringendereco,Stringcep,Stringtelefone,Stringcpf,Stringdata_nasc,Stringestado){this.nome=nome;this.sobrenome=sobrenome;this.endereco=endereco;this.cep=cep;this.telefone=telefone;this.cpf=cpf;this.data_nasc=data_nasc;this.estado=estado;}publicStringgetNome(){returnnome;}//outros getters e setters se necessário...}
importcom.thoughtworks.xstream.XStream;publicclassTestXStream{publicstaticvoidmain(String[]args){Usuariou=newUsuario("Zé","Ruela","R das Couves","20000","171-6969","5787289-01","01/05/1985","SC");XStreamxstream=newXStream();xstream.alias("usuario",Usuario.class);//faz o XML ficar identado.Stringxml=xstream.toXML(u);System.out.println(xml);}}
Grinvon
Uma boa maneira de você salvar configs, poderia ser usando a classe Properties do Java, pois ela foi feita para tal fim. Vale apena usar, é simples e fácil, e tem até um bom artigo aqui no GUJ, dê uma conferida!