tenho o seguinte
public static void inserir(Cliente cli) {
if(cli == null)
return;
cli.setId(ultimoId);
ultimoId++;
lista.add(cli);
}
tenho os get e set tambem tudo funcionando mas quero passa essa private static List<Cliente> lista;
para um arquivo .txt mesmo alguem sabe como ???????
Vc quer varrer o conteudo da lista e jogar linha a linha no arquivo?
isso tipo tenho os
public class Cliente {
private Integer id;
private String nome;
private String cpf;
public Cliente() {
id = 0;
nome = "";
cpf = "";
}
os get e set
isso pega a list e gravar o arquivo tipo o nome cliente id cpf em uma linha depois outra linha outro cliente assim por diante entendeu j FIZ ISSO NO POSTGRE MYSQLL E NO ORACLE agora estou tentando gravar em arquivo mesmo caso nao tenha algum banco
não sei se é isso… mas pelo que entendi, dá pra fazer assim:
Sobrescreva o método toString() na sua classe “Cliente”:
public class Cliente {
private Integer id;
private String nome;
private String cpf;
public Cliente() {
id = 0;
nome = "";
cpf = "";
}
// getters e setters...
public String toString() {
return "id: " + id + " - Nome: " + nome + " - CPF: " + cpf;
}
}
depois, crie esse método em algum lugar:
public static void salvar(String nomeArq, List<Cliente> lista) throws IOException, IOException
{
PrintWriter out = new PrintWriter(new FileWriter(nomeArq));
for (Cliente cliente : lista) {
out.println(cliente.toString());
}
out.close();
}
Utilize a classe PrintWriter.
Construa o objeto PrintWriter com um File (que será a representação do arquivo em disco).
A partir daí utilize o conveniente método “println” da classe PrintWriter pra escrever no arquivo linha a linha, enquanto houver dados na list.
O println recebe (dentre outras opções) uma string como parâmetro.
eu tava tentando fazer assim
public void inserirFILE(Cliente cli) throws excessao {
Cliente cliente = new Cliente();
cliente.setCpf_Cliente(cli.getCpf_Cliente());
cliente.setid_Cliente(cli.getid_Cliente());
cliente.setEstado_Cliente(cli.getEstado_Cliente());
cliente.setNome_Cliente(cli.getNome_Cliente());
try {
ObjectOutput out = new ObjectOutputStream(new FileOutputStream("Cliente.txt"));
out.writeObject(cliente);
out.close();
} catch (IOException e) {
}
}
so que estou pensando fazendo dessa maneira vai salvar perfeito no arquivo Cliente.txt so que vai salvando cada vez que eu cadastrar um novo e como eu vou consultar depois nesse arquivo ??? tipo por ID
tipo estou tentando simular o banco entendeu como se eu estivesse salvando no postgre
Arquivos textos não servem para isso, evite dor de cabeça e use um Banco ou ate mesmo um xml para facilitar a busca dos dados!
ahh bom meu achei auqi porque salvo um arquivo e olha so o conteudo dele
¬í {sr java.io.NotSerializableException(Vx ç?5 xr java.io.ObjectStreamExceptiondÃäk?9ûß xr java.io.IOExceptionl?sde%ð« xr java.lang.ExceptionÐý>;Ä xr java.lang.ThrowableÕÆ5'9w¸Ë L causet Ljava/lang/Throwable;L
detailMessaget Ljava/lang/String;[
stackTracet [Ljava/lang/StackTraceElement;xpq ~ t modelo.Clienteur [Ljava.lang.StackTraceElement;F*<<ý"9 xp Bsr ejava.lang.StackTraceElementa Å?&6Ý? I
lineNumberL declaringClassq ~ L fileNameq ~ L
methodNameq ~ xp ?t java.io.ObjectOutputStreamt ObjectOutputStream.javat writeObject0sq ~ Fq ~ q ~ t writeObjectsq ~ 7t percistencia.ClienteDaot ClienteDao.javat inserirFILEsq ~ Üt apresentacao.CadastrarClientet CadastrarCliente.javat jSalvarActionPerformedsq ~ q ~ q ~ t
access$000sq ~ Zt apresentacao.CadastrarCliente$1q ~ t actionPerformedsq ~ aËt javax.swing.AbstractButtont AbstractButton.javat fireActionPerformedsq ~ t "javax.swing.AbstractButton$Handlerq ~ "q ~ sq ~ ?t javax.swing.DefaultButtonModelt DefaultButtonModel.javaq ~ #sq ~ òq ~ 'q ~ (t
setPressedsq ~ Vt +ch.randelshofer.quaqua.QuaquaButtonListenert QuaquaButtonListener.javat
mouseReleasedsq ~ öt java.awt.Componentt Component.javat processMouseEventsq ~ Át javax.swing.JComponentt JComponent.javaq ~ 2sq ~ q ~ 0q ~ 1t processEventsq ~ açt java.awt.Containert Container.javaq ~ 7sq ~ ?q ~ 0q ~ 1t dispatchEventImplsq ~ !q ~ 9q ~ :q ~ <sq ~ ëq ~ 0q ~ 1t
dispatchEventsq ~ Ít java.awt.LightweightDispatcherq ~ :t retargetMouseEventsq ~ }q ~ Aq ~ :q ~ 2sq ~ 7q ~ Aq ~ :q ~ ?sq ~ q ~ 9q ~ :q ~ <sq ~ ?t java.awt.Windowt Window.javaq ~ <sq ~ ëq ~ 0q ~ 1q ~ ?sq ~ Wt java.awt.EventQueuet EventQueue.javaq ~ ?sq ~
t java.awt.EventDispatchThreadt EventDispatchThread.javat pumpOneEventForFilterssq ~ ¸q ~ Nq ~ Ot pumpEventsForFiltersq ~ ²q ~ Nq ~ Oq ~ Rsq ~ t java.awt.Dialog$1t Dialog.javat runsq ~ Kt java.awt.Dialog$3q ~ Vq ~ Wsq ~ ÿÿÿþt java.security.AccessControllert AccessController.javat doPrivilegedsq ~ It java.awt.Dialogq ~ Vt showsq ~ §q ~ 0q ~ 1q ~ `sq ~ xq ~ 0q ~ 1t
setVisiblesq ~ 8q ~ Gq ~ Hq ~ csq ~ Ûq ~ _q ~ Vq ~ csq ~ ût apresentacao.Principalt Principal.javat ejmInserirCliActionPerformedsq ~ )q ~ gq ~ ht
access$400sq ~ ?t apresentacao.Principal$5q ~ hq ~ sq ~ aËq ~ !q ~ "q ~ #sq ~ q ~ %q ~ "q ~ sq ~ ?q ~ 'q ~ (q ~ #sq ~ òq ~ 'q ~ (q ~ *sq ~ eq ~ !q ~ "t adoClicksq ~ Ét &javax.swing.plaf.basic.BasicMenuItemUIt BasicMenuItemUI.javaq ~ ssq ~ òt .javax.swing.plaf.basic.BasicMenuItemUI$Handlerq ~ vq ~ .sq ~ öq ~ 0q ~ 1q ~ 2sq ~ Áq ~ 4q ~ 5q ~ 2sq ~ q ~ 0q ~ 1q ~ 7sq ~ açq ~ 9q ~ :q ~ 7sq ~ ?q ~ 0q ~ 1q ~ <sq ~ !q ~ 9q ~ :q ~ <sq ~ ëq ~ 0q ~ 1q ~ ?sq ~ Íq ~ Aq ~ :q ~ Bsq ~ }q ~ Aq ~ :q ~ 2sq ~ 7q ~ Aq ~ :q ~ ?sq ~ q ~ 9q ~ :q ~ <sq ~ ?q ~ Gq ~ Hq ~ <sq ~ ëq ~ 0q ~ 1q ~ ?sq ~ Wq ~ Kq ~ Lq ~ ?sq ~
q ~ Nq ~ Oq ~ Psq ~ ¸q ~ Nq ~ Oq ~ Rsq ~ ®q ~ Nq ~ Ot pumpEventsForHierarchysq ~ ©q ~ Nq ~ Ot
pumpEventssq ~ ¡q ~ Nq ~ Oq ~ ?sq ~ zq ~ Nq ~ Oq ~ Wx
acho que deu alguma coisa errada
Como vc gravou, use do jeito que o sf.marcius postou, não grave os objetos diretamente no arquivo!