ddrstyle
Messages postés2Date d'inscriptionsamedi 27 octobre 2007StatutMembreDernière intervention17 janvier 2008
-
2 janv. 2008 à 19:27
ddrstyle
Messages postés2Date d'inscriptionsamedi 27 octobre 2007StatutMembreDernière intervention17 janvier 2008
-
17 janv. 2008 à 14:34
Bonjour à tous,
Alors voilà, j'ai une petite question en ce qui concerne la sérialisation en Java. Je dois stocker (dans un ArrayList) les nom, prénom, pseudo... d'un joueur, puis sérialiser cette liste. Jusque là tout va bien. Car j'ai créé une fenêtre d'Inscription puis une fenêtre de Connexion (qui vérifie le pseudo et le mot de passe entrés avec la liste sérialisée préalablement). Sauf que ceci ne marche qu'avec un joueur, en effet si je créer un nouveau joueur la sérialisation à lieu mais écrase le fichier précèdent.
Je souhaiterai donc savoir comment faire pour stocker tous les détails de chaque joueur dans le même fichier, ou créer un "Sauvegarde.ser" par joueur. Merci .
cf le code:
--------------------------------------------------------------------------------
ArrayList liste = new ArrayList(6); JTextField Tf_i_Nom;
JTextField Tf_i_Prenom;
JTextField Tf_i_Pseudo;
JTextField Tf_i_MotdePasse;
JTextField Tf_i_ConfirmationMotdePasse;
JTextField Tf_i_Credit;
if ((Tf_i_MotdePasse.getText()).equals(Tf_i_ConfirmationMotdePasse.getText()))
{
int credit_conversionInscription= Integer.parseInt(Tf_i_Credit.getText());
Inscription joueur = new Inscription(Tf_i_Nom.getText(),Tf_i_Prenom.getText(),Tf_i_Pseudo.getText(),Tf_i_MotdePasse.getText(),Tf_i_ConfirmationMotdePasse.getText(),credit_conversionInscription,true);
forcels
Messages postés64Date d'inscriptionmercredi 10 mai 2006StatutMembreDernière intervention27 août 2010 17 janv. 2008 à 11:24
Hello,
Si tu a déjà un fichier existant, ce qu'il faut faire c'est lire le contenu de ton fichier par la programmation (getInputStream()), le sauvegarder dans une variable, ajouter ton nouveau joueur à la variable, et la remettre dans le fichier. Ainsi, tu gardes toutes tes données...
Bon si ton arrayList devient très grande, ça risque de faire ralentir ton application... Donc ta solution de faire plusieurs fichiers peut aussi être envisageable. Bon après c'est un peu plus embêtant pour faire une recherche pour tester les logins, mais c'est tout à fait possible.
En connaissant exactement quels fichiers tu dois lire (par exemple tu les mets dans un dossier spécifique), tu fais une boucle dans le dossier et tant qu'il trouve un fichier, il le lit et vérifie le login... Perso je n'ai jamais testé mais je pense que ça peut être possible... Question temps, je pense que c'est plus lent de faire ainsi que de travailler avec un seul fichier. Donc à tester!
Perso je ferais avec l'arrayList en mettant tout dans un fichier. Cette
solution me semble beaucoup plus simple à implémenter que l'autre...
ddrstyle
Messages postés2Date d'inscriptionsamedi 27 octobre 2007StatutMembreDernière intervention17 janvier 2008 17 janv. 2008 à 14:34
Merci ! J'ai opté pour la solution avec un fichier unique de sauvegarde. En effet, je lis le contenu du fichier puis ajoute à la suite les données d'un autre joueur puis re-sérialise le tout. Méthode efficace pour un nombre pas trop important de joueurs.