Bonjour  
Voila, a la fermeture de mon logiciel je dois enregistrer  ma classe principale dans un fichier
voici les methodes de sauvegarde et de récupération
 
Citation :
 
 void recuperation_Sauvegarde()
  {
  	sauvegarde =new File(nom_fichier_sauvegarde);
  	boolean exists =sauvegarde.exists();
      if (exists) {
      	System.out.println("Le fichier existe" );
      	if(sauvegarde.length()==0){
        System.out.println("Le fichier est vide" );
        domain=new Domaine(nomDomaine);
        User u=new User(1,"admin","admin",false);
        domain.ajoutUtilisateur(u);
        
      	}else{
        System.out.println("Le fichier n'est pas vide" );
        if(!load(nom_fichier_sauvegarde)){
        	System.out.println("Le fichier n'est pas au bon format, on reiniatilise le serveur " );
        	domain=new Domaine(nomDomaine);
        	User u=new User(1,"admin","admin",false);
        	domain.ajoutUtilisateur(u);
                  }
          }
          
      } else {
      	System.out.println("Le fichier n'existe pas" );
      	domain=new Domaine(nomDomaine);
      	User u=new User(1,"admin","admin",false);
      	domain.ajoutUtilisateur(u);
      }
  }
 public  void save(String file){
                   try{
             // On crée la sortie vers le fichier
             ObjectOutputStream  out = new ObjectOutputStream(new FileOutputStream(System.getProperty("user.dir" ) +"/"+file));
             System.out.println("nb user "+domain.getNbUtilisateur());
             out.writeObject((Domaine)domain);
             System.out.println(System.getProperty("user.dir" ) + "\\" + file + " saved" );
         } catch (FileNotFoundException e) {
             e.printStackTrace();
            
         } catch (IOException e) {
             e.printStackTrace();
            
         }  
                     }
    
     public  boolean load(String file){
      boolean retour=true;
         try{
             // crée le fichier
             FileInputStream fichier = new FileInputStream(System.getProperty("user.dir" ) +"/"+file);
             // On crée l'entrée à partir du fichier
             ObjectInputStream ois = new ObjectInputStream(fichier);
             // On charge la liste à partir du fichier
             domain =(Domaine)ois.readObject();
               System.out.println(System.getProperty("user.dir" ) + "\\" + file + " chargé" );
         } catch (FileNotFoundException e) {
             e.printStackTrace();
             retour=false;
         } catch (IOException e) {
             e.printStackTrace();
             retour=false;
         } catch (ClassNotFoundException e) {
             e.printStackTrace();
             retour=false;
         }
         return retour;       }
   | 
 
donc voila, quand j'eteins le serveur, tout ce passe correctement il m'enregistre bien dans le fichier aucune erreur(grace a la methode save).
juste avant de quitter tout, je fais afficher le nombre d'utilisateur inscrit dans le domaine
Citation :
 
 
 nb user 1
 C:\Users\fred\workspace\Projet\src\MonPackage\sauvegarde/sauvegarde.txt saved
   | 
 
Si je relance le serveur, tout ce passe bien, aussi  
Citation :
 
 Le fichier existe
 Le fichier n'est pas vide
 C:\Users\fred\workspace\Projet\src\MonPackage\sauvegarde/sauvegarde.txt chargé
   | 
 mais en faite voila mon probleme, apparament la sauvegarde il me met rien dans le fichier
voici la seul chose qui me met dans le fichier
Citation :
 
 ¬í sr MonPackage.Domaine\AÞI˜Ô   xp
   | 
J'ai deja utilise ces methodes qui marcher pour un autre truc projet, mais la j'ai reteste ca marche plus,ca fait pareil
alors est ce ce le fait que je suis sous vista, je sais pas je comprend pas trop
si vous avez des methode pour faire la meme chose je suis preneur  
Merci
 
Message édité par infoman64 le 01-12-2007 à 16:46:56