List para arquivo

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!