Como fazer o bucle para que leia um ficheiro .dat serializado?

0 respostas
romenig

Eu quero listar o nome, idade e numero de intentos do objeto jogador, que está em arquivo .dat, os dados estao serializados, utilizei FileInputStream e o ObjectInputStream.
Eu consegui que apareçam os dados como podem ver está como comentario para que apareça o outro jogador, sendo que não sei o comando de repetição que devo fazer para o bucle ler o arquivo até o fim e fazer a comparação para voltar e ler os dados do novo jogador.

Será que alguém entende de ficheiros??

List lista=new ArrayList();

Jugador j= new Jugador();

JugadorInput jo= new JugadorInput();
jo.abrir();

j = jo.leer();

System.out.println("Nombre " + j.getNombre());
System.out.println("Edad: = "+j.getEdad());
System.out.println("Edad: = "+j.getIntentos());

/*
j = jo.leer();

System.out.println("Nombre " + j.getNombre());
System.out.println("Edad: = "+j.getEdad());
System.out.println("Edad: = "+j.getIntentos());*/

jo.cerrar();
O meu arquivo para ler os dados é esse:
public class JugadorInput {

private FileInputStream file;
private ObjectInputStream input;

public JugadorInput(){}

public void abrir(){
try{
input=new ObjectInputStream(new FileInputStream("jugador.dat"));
}catch(IOException ex){
JOptionPane.showMessageDialog(null,"Error al abrir el fichero!");
}

}

public void cerrar(){
try{
input.close();
}catch(IOException ex){
JOptionPane.showMessageDialog(null,"Error al cerrar el fichero!");
}

}

public Jugador leer(){
Jugador j=new Jugador();
if(input!=null){
try{
j=(Jugador)input.readObject();
}catch(EOFException eo){
j=null;
}
catch(IOException ioe){
JOptionPane.showMessageDialog(null,"error en la entrada o salida del fichero!");
}
catch(ClassNotFoundException ce){
JOptionPane.showMessageDialog(null,"clase no encontrada!");
}

}
return j;
}

}
[code]

Criado 10 de fevereiro de 2011
Respostas 0
Participantes 1