Se connecter / S'enregistrer
Votre question

Sauvegarde en JAVA

Tags :
  • Java
  • Programmation
Dernière réponse : dans Programmation
8 Mai 2008 10:56:24

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

8 Mai 2008 13:42:43

ce que tu sauvegardes, c'est une classe dans un certain état.
lorsque tu récupère le fichier, tu révupère ta classe dans l'état où tu l'as sauvegarder.

A priori, ça marche.
8 Mai 2008 15:52:00

Je c'est mais ça marche pas et je comprends pas pourquoi !!!
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS