Se connecter avec
S'enregistrer | Connectez-vous

Sauvegarde en JAVA

Dernière réponse : dans Programmation

Bonjour,

Voilà mon probleme est de sauvegarder une classe afin que je puisse la relancé à l'identique quand je veux.

Ma classe pricipale s'appelle affichageJeu et contient une barre de menu permettant de lancer un nouveau jeu, sauvegader ou charger.

J'ai utiliser Serializable mais ça marche pas. Le fichier save.ser est bien crée mais quand je charge rien ne se passe.

Code de ma classe Affichage Jeu qui implemente Serializable:

  1. public class AffichageJeu extends JFrame implements ActionListener,Serializable
  2. {
  3. ..................... Code.......................
  4. }
  5.  
  6.  
  7.  
  8. public AffichageJeu(ListeJoueur les_Joueurs,Jouer le_jouer)
  9. {
  10. ................. CODE ...............
  11. }
  12.  
  13.  
  14.  
  15. public void actionPerformed(ActionEvent e)
  16. {
  17. Object source = e.getSource();
  18.  
  19. if (source == Sauver)
  20. {
  21. System.out.println("Sauvegarde en cour......");
  22. try {
  23. // ouverture d'un flux de sortie vers le fichier "save.ser"
  24. FileOutputStream fos = new FileOutputStream("save.ser");
  25.  
  26. // création d'un "flux objet" avec le flux fichier
  27. ObjectOutputStream oos= new ObjectOutputStream(fos);
  28. try {
  29. // sérialisation : écriture de l'objet dans le flux de sortie
  30. oos.writeObject(this);
  31. // on vide le tampon
  32. oos.flush();
  33. }
  34. finally{
  35. //fermeture des flux
  36. try{
  37. oos.close();
  38. }
  39. finally { fos.close();}
  40. }
  41. } catch(IOException ioe) {}
  42.  
  43. System.out.println("Sauvegarde Reussi !!!");
  44.  
  45. }
  46.  
  47.  
  48.  
  49. if (source == Charger)
  50. {
  51. AffichageJeu chargementJeu=null;
  52.  
  53. try {
  54. // ouverture d'un flux d'entrée depuis le fichier "save.ser"
  55. FileInputStream fis = new FileInputStream("save.ser");
  56. // création d'un "flux objet" avec le flux fichier
  57. ObjectInputStream ois= new ObjectInputStream(fis);
  58. try {
  59. // désérialisation : lecture de l'objet depuis le flux d'entrée
  60. System.out.println("Chargement en cour...");
  61. chargementJeu = (AffichageJeu) ois.readObject();
  62. }
  63. finally{
  64. // on ferme les flux
  65. try{
  66. ois.close();
  67. }
  68. finally {fis.close();}
  69. }
  70. }
  71. catch(IOException ioe) {}
  72. catch(ClassNotFoundException cnfe) {}
  73.  
  74. (chargementJeu != null)
  75. {
  76. System.out.println("Chagement Effectuer !!!");
  77. }
  78.  
  79. this.dispose();
  80. chargementJeu.setVisible(true);
  81. chargementJeu.pack();
  82.  
  83. }

Autres pages sur : sauvegarde java

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
Tom's guide dans le monde