le_rubix_cube
Messages postés3Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention 2 juin 2009
-
1 juin 2009 à 15:23
le_rubix_cube
Messages postés3Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention 2 juin 2009
-
2 juin 2009 à 22:55
Bonjour,
Je réalise un jeu pour un projet ou enregistrement et connexion des joueurs. Pour cela j'ai mis en place de la sérialisation binaire avec stockage des logins et mots de passe des joueurs dans un fichier binaire.
Les joueurs peuvent donc s'enregistrer , mais je ne sais pas comment m'y prendre pour que ceux-ci puissent ensuite se connecter. Pour cela il faut que je vérifie leur
login et leur mot de passe dans le fichier binaire.
le_rubix_cube
Messages postés3Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention 2 juin 2009 2 juin 2009 à 22:55
J'arrive à sérialiser plusieurs joueurs grâce au booléen true de
FileOutputStream
, mais je n'arrive pas à les lire tous, en fait je ne lis que le ou les premiers enregistrements.
J'ai refais un code super simple pour vérifier que le problème ne venait pas d'ailleurs, voici mon code :
private static ArrayList lesPersonnes = new ArrayList();
private static String p1 = new String("gerard");
private static String p3 = new String("bilbo");
static public void main(String[] args) {
sauve();
restore();
}
public static void sauve() {
{
try {FileOutputStream f = new FileOutputStream("score",true);
ObjectOutputStream s = new ObjectOutputStream(f);
lesPersonnes.add(p1);// ajout de données dans l'arraylist
lesPersonnes.add(p3);// ajout de données dans l'arraylist
s.writeObject(lesPersonnes);
s.flush();// sauvegarde de l'arraylist
System.out.println(lesPersonnes+ " a ete serialise");
s.close();//ferme le flux
}
catch(IOException e) {e.printStackTrace();}
}
}
public static void restore() {
try {
FileInputStream f = new FileInputStream("score");
ObjectInputStream s = new ObjectInputStream(f);
lesPersonnes= (ArrayList) s.readObject();
System.out.println(lesPersonnes + " a ete deserialise");
for(int i = 0; i < lesPersonnes.size(); i++)//on lie les données de l'arraylist
{
System.out.println("Personne "+i+"\n" +lesPersonnes.get(i) );
}