1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

JAVA - Gravar item de ComboBOx em LinkedList e ficheiro ObjectOutpuStream

Discussão em 'Programação' iniciada por Turpid, 13 de Janeiro de 2009. (Respostas: 3; Visualizações: 1590)

  1. Boas,

    Pessoal, estou a começar no JAVA.

    Após muito esforço já estou a conseguir escrever em ficheiro FileOutputStream.

    No entanto não estou a conseguir gravar o Item escolhido numa ComboBox da form e ler do ficheiro e mostrar na combo após leitura.

    Estou a usar o NetBeans e o Swing, desenhei uma form com o NetBeans e coloquei este código:
    Código:
     private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {                                            
    [INDENT]cartoes.add(new cartao(nCartao.getText(), 
    [/INDENT][INDENT]nUtente.getText(), 
    [/INDENT][INDENT]tipoAcesso.toString(),                          // Não consigo gravar este dado e ler para poder utilizar posteriormente.
    [/INDENT][INDENT]dataEmissao.getText(), 
    [/INDENT][INDENT]dataExpiracao.getText())); 
    [/INDENT][INDENT]gravar(); 
    [/INDENT]  }                                           
     void gravar() {     
    [INDENT]         try{ 
    [/INDENT][INDENT][INDENT]ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(ficheiroCartoes));    
    [/INDENT][/INDENT][INDENT][INDENT]out.writeObject(cartoes);             
    [/INDENT][/INDENT][INDENT]} catch (Exception e){ 
    [/INDENT][INDENT][INDENT][INDENT]             // 
    [/INDENT][/INDENT][/INDENT][INDENT]         } 
    [/INDENT]  } 
    
    Agradecia a vossa ajuda.
     
    Última edição pelo moderador: 13 de Janeiro de 2009
  2. mpssantos

    mpssantos Power Member

    Para gravares num ficheiro faz assim:
    Código:
        // Create file 
        FileWriter fstream = new FileWriter("out.txt");
        BufferedWriter out = new BufferedWriter(fstream);
        out.write("Hello Java");
        //Close the output stream
        out.close();
       
    O método do BufferedWriter recebe uma string para ser escrita no ficheiro. Só tens de ir guardando os dados das combos numa string, e usares um separador. qq coisa do genero : "comboText1;comboText2;comboText3." e passas essa string para o teu método gravar que passa a ter a assinatura: public void gravar(String filteText) {.....}

    Depois ao leres do ficheiro podes utilizar o método slit da classe string que te separa para um array de strings mediante o separador

    good luck
     
    Última edição pelo moderador: 13 de Janeiro de 2009
  3. Boas,

    O meu problema agora não se refere à escrita em ficheiro, mas sim a como escrever em ficheiro o resultado obtido de uma comboBox. Estou a gravar os dados obtidos na LinkedList cartoes, e depois gravo o objecto no ficheiro. Mas não consigo gravar os dados da combo e depois ler.

    Thanks
     
  4. IComeFromBehind

    IComeFromBehind Power Member

    Provavelmente porque o atributo da combobox é transiente. Experimento gravar uma cópia assim:

    Código:
    new String(tipoAcesso.toString())
     
    Última edição: 13 de Janeiro de 2009

Partilhar esta Página