Salvar algum tipo de coleção em arquivo txt.. como faz?
14 respostas
renato_ramos
Bom dia gente!!
então…
minha duvida eh como fazer… um local onde o usuario vai selecionas linhas do banco de dados… essas linhas viram uma list qualquer… essa list eu preciso salvar em arquivo txt… para que outra aplicação possa subir utilizando essa arquivo…
no caso é… o usuario cadastra registro… depois seleciona o que ele quer utilizar… salva… passa o arquivo para outro dispositivo… que vai ter uma aplicação que vai utilizar essa arquivo…
legal… ms acho que não é isso que eu preciso… ms pelo menos aprendi coisa nova \o/
intaum acho q eu não fui claro… vo tentar exemplificar melhor…
exemplo:
eu seleciono alguns usuario do meu banco… e em cada registro tem id, nome, login, senha.
tem como esses dados serem gravados em um txt… tipo… cada linha um registro… para que eu possar usar depois utilizando talvez a classe que controla arquivo do java ( que eu nao sei ql é… mas vou estudar depois)??
Voce poderia importar isto para XML? caso o outro programe aceite o xml, seria a melhor opcao.
Mas caso não possa ser xml, então você precisa definir primeiro como vai ser o layout de arquivo, voce quer tipo posicional? com delimitador? exemplo
Posicional
Codigo Nome Idade
1 MARIA 18
2 JOAO 17
Delimitado pelo caracter ;
Codigo;Nome;Idade
1;MARIA;18
2;JOAO;17
Em ambos os casos voce pode criar classes para isto, ou usar algo que alguem ja fez… !!!
No java tem varias classes que pode te ajudar com isto
Ex. StringTokenizer, Expressao Regular, etc
Caso fique confuso, então seria interessante detalhar mais que tipo de arquivo e layout que pretende importar/exportar
Att
renato_ramos
opa astork,
é isso mesmo que eu qru… acho que posicional serve…
por ond eu começo??
i tipo qndo eu for usar no outro aplicativo… tem como fazer uma especia de select pelo codigo??
mt obrigado!!
E
entanglement
Vou dar um exemplo. Note que a classe deve implementar Serializable.
TesteXML.java
importjava.util.*;importjava.io.*;importjava.beans.*;classTesteXML{publicstaticvoidmain(String[]args)throwsIOException{List<Cliente>clientes=newArrayList<Cliente>();clientes.add(newCliente("Selma Blair",100.00));clientes.add(newCliente("Colbie Caillat",200.00));clientes.add(newCliente("Ashley Olsen",300.00));// Vamos imprimir a lista de objetos.System.out.println(clientes);// Efetuar a serializacao dos dadosXMLEncoderxenc=newXMLEncoder(newBufferedOutputStream(newFileOutputStream("teste.xml")));xenc.writeObject(clientes);xenc.close();// Agora iremos reler os dados em uma outra lista.List<Cliente>novosClientes;XMLDecoderxdec=newXMLDecoder(newBufferedInputStream(newFileInputStream("teste.xml")));novosClientes=(List<Cliente>)xdec.readObject();xdec.close();// Vamos imprimir a lista de objetos.System.out.println(novosClientes);}}
[Selma Blair:100.0, Colbie Caillat:200.0, Ashley Olsen:300.0]java.lang.IllegalAccessException:Class sun.reflect.misc.Trampoline can not access a member of class textxml.Cliente with modifiers "public"Continuing ...java.lang.Exception:XMLEncoder: discarding statement ArrayList.add(Cliente);Continuing ...java.lang.IllegalAccessException:Class sun.reflect.misc.Trampoline can not access a member of class textxml.Cliente with modifiers "public"Continuing ...java.lang.Exception:XMLEncoder: discarding statement ArrayList.add(Cliente);Continuing ...java.lang.IllegalAccessException:Class sun.reflect.misc.Trampoline can not access a member of class textxml.Cliente with modifiers "public"Continuing ...java.lang.Exception:XMLEncoder: discarding statement ArrayList.add(Cliente);Continuing ...
o legal q a selma vai lol
ms e c eu quisesse igual o primeiro exemplo que vc deu?? sem ser xml? … como eu faria?
mt obrigado pela atencao!
E
entanglement
A classe textxml.Cliente tem de estar no classpath também.
renato_ramos
tipo… eu fiz pelo netbeans… tah td no msm pacote…
i eu não tenho o conceito de classpath formado lol
pode me xingar
nel
Tenta algo assim:
//Supondo uma collection de Strings//usa foreachFileWriterfileWriter=newFileWriter("dados.txt");for(Strings:list){//pula linhas+="\n";fileWriter.write(s);}fileWriter.close();
Abraços.
renato_ramos
e se for uma collection de uma classe qualquer sem ser string??