Autor
Mensagem
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:
#Código
Esse é o método que grava o arquivo .txt
#Código
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:
#Código
public ListaFilmes() {
initComponents();
jListFilmes.setListData(FilmeUtil.getListaFilmes().toArray());
}Esse é o método que grava o arquivo .txt
#Código
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();
}
esqueci esse é o método para recuperar:
#Código
#Código
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());
}
}








