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
Vou dar um exemplo. Note que a classe deve implementar Serializable.
TesteXML.java
import java.util.*;
import java.io.*;
import java.beans.*;
class TesteXML {
public static void main(String[] args) throws IOException {
List<Cliente> clientes = new ArrayList<Cliente>();
clientes.add (new Cliente ("Selma Blair", 100.00));
clientes.add (new Cliente ("Colbie Caillat", 200.00));
clientes.add (new Cliente ("Ashley Olsen", 300.00));
// Vamos imprimir a lista de objetos.
System.out.println (clientes);
// Efetuar a serializacao dos dados
XMLEncoder xenc = new XMLEncoder (new BufferedOutputStream (new FileOutputStream ("teste.xml")));
xenc.writeObject (clientes);
xenc.close();
// Agora iremos reler os dados em uma outra lista.
List<Cliente> novosClientes;
XMLDecoder xdec = new XMLDecoder (new BufferedInputStream (new FileInputStream ("teste.xml")));
novosClientes = (List<Cliente>) xdec.readObject();
xdec.close();
// Vamos imprimir a lista de objetos.
System.out.println (novosClientes);
}
}
Cliente.java
import java.io.Serializable;
public class Cliente implements Serializable {
public String getNome() { return nome; }
public double getSaldo() { return saldo; }
public void setNome(final String nome_) { nome = nome_; }
public void setSaldo(final double saldo_) { saldo = saldo_; }
public Cliente() { }
public Cliente (final String nome_, final double saldo_) { nome = nome_; saldo = saldo_; }
@Override public String toString() { return nome + ":" + saldo; }
private String nome;
private double saldo;
}
[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?
[code]
//Supondo uma collection de Strings
//usa foreach
FileWriter fileWriter = new FileWriter(“dados.txt”);
for(String s : list){
//pula linha
s += “\n”;
fileWriter.write(s);