Ayuda con persistencia!
Publicado por Ru (35 intervenciones) el 18/08/2021 15:07:19
Hola, buen dia!
Tengo un problema al implementar persistencia. Lo que quiero hacer es guardar en un archivo los ganadores de un juego y ni se llega a crear el archivo. No entiendo que es lo que estoy haciendo mal.
En la clase Juego tengo este metodo:
private Persistencia p;
public Jugador mostrarGanador()throws RemoteException { //devuelve el ganador
int mayor=0;
Jugador j = null;
for (int i=0; i<jugadores.size();i++) {
if (jugadores.get(i).getPuntos() > mayor) {
mayor=jugadores.get(i).getPuntos();
j=jugadores.get(i);
}
}
try {
p.guardar(j); //Este es el metodo guardar de la clase Persistencia, aqui
} catch (IOException e) { quiero guardar el ganador
// TODO Auto-generated catch block
e.printStackTrace();
}
return j;
}
Clase persistencia:
public class Persistencia {
public void guardar (Jugador j) throws IOException {
ObjectOutputStream salida= new ObjectOutputStream(new FileOutputStream("jugador.objeto"));
salida.writeObject(j);
salida.close();
}
public Jugador recuperar() throws FileNotFoundException, IOException, ClassNotFoundException {
ObjectInputStream entrada = new ObjectInputStream(new FileInputStream("jugador.objeto"));
Jugador j = (Jugador ) entrada.readObject();
entrada.close();
return j;
}
}
Tengo un problema al implementar persistencia. Lo que quiero hacer es guardar en un archivo los ganadores de un juego y ni se llega a crear el archivo. No entiendo que es lo que estoy haciendo mal.
En la clase Juego tengo este metodo:
private Persistencia p;
public Jugador mostrarGanador()throws RemoteException { //devuelve el ganador
int mayor=0;
Jugador j = null;
for (int i=0; i<jugadores.size();i++) {
if (jugadores.get(i).getPuntos() > mayor) {
mayor=jugadores.get(i).getPuntos();
j=jugadores.get(i);
}
}
try {
p.guardar(j); //Este es el metodo guardar de la clase Persistencia, aqui
} catch (IOException e) { quiero guardar el ganador
// TODO Auto-generated catch block
e.printStackTrace();
}
return j;
}
Clase persistencia:
public class Persistencia {
public void guardar (Jugador j) throws IOException {
ObjectOutputStream salida= new ObjectOutputStream(new FileOutputStream("jugador.objeto"));
salida.writeObject(j);
salida.close();
}
public Jugador recuperar() throws FileNotFoundException, IOException, ClassNotFoundException {
ObjectInputStream entrada = new ObjectInputStream(new FileInputStream("jugador.objeto"));
Jugador j = (Jugador ) entrada.readObject();
entrada.close();
return j;
}
}
Valora esta pregunta


0