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