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());*/
O meu arquivo para ler os dados é esse:
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]