Problema ArrayList

Java

19/06/2012

Olá estou desenvolvendo uma pequena aplicação bem parecida com essa:
Swing na prática - Revista easy Java Magazine 17
Com a diferença de estar armazenando meus dados em um arquivo .txt, na primeira vez que eu insiro funciona tudo certo, porém quando abro novamente a aplicação a minha lista de filmes aparece assim:
[78 Comédia De_volta [[Cris,, Laura]]] - parece que fica uma lista dentro da outra
Esse é o método que lista:
  public ListaFilmes() {
      initComponents();
      jListFilmes.setListData(FilmeUtil.getListaFilmes().toArray());

    
    }

Esse é o método que grava o arquivo .txt
public static void grava() throws IOException {
        File f = new File(c:\\newMovie.txt);
        f.delete();
        FileWriter fout = new FileWriter(c:\\newMovie.txt,true);
        PrintWriter pout = new PrintWriter(fout);
        for (Filme filme : listaFilmes) {
            pout.println(filme);
        }

        fout.close();
        pout.close();

    }




Mmsysbrasil

Mmsysbrasil

Curtidas 0

Respostas

Mmsysbrasil

Mmsysbrasil

19/06/2012

esqueci esse é o método para recuperar:

 private  void recuperaFilmes() {
        List<Ator> listaAtor = new ArrayList<Ator>();
          String vetor[] = null;
        try {
            FileReader fin = new FileReader(c:\\newMovie.txt);// não possui método para ler linha inteira
            BufferedReader buf = new BufferedReader(fin);
            String linha = buf.readLine();

            while (linha != null) {
              
                Filme f = new Filme();
                vetor = linha.split( );
                f.setCodigo(Integer.parseInt(vetor[0]));
                f.setGenero(vetor[1]);
                f.setTitulo(vetor[2]);
                listaAtor = new ArrayList<Ator>();
                listaAtor.add(new Ator(vetor[3]));
                listaAtor.add(new Ator(vetor[4]));
                f.setAtoresPrin(listaAtor);
                FilmeUtil.addFilme(f);
                linha = buf.readLine();
               
            }
            buf.close();
            fin.close();
        } catch (Exception e) {
            System.out.println(Erro: + e.getMessage());
        }

    }


GOSTEI 0
Davi Costa

Davi Costa

19/06/2012

Esse trecho que vc citou [78 Comédia De_volta [[Cris,, Laura]]] fica na sua app ao ler o arquivo ou no arquivo?
Bom onde estiver vc pode tratar a String para que fique melhor a visualização.

att Davi
GOSTEI 0
POSTAR