Problème avec ma méthode readObject
Résolu
Hamster18
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je travail sur un projet en fxml est je suis bloquer sur ma sérialisation ou plus exactement sur la rediffusion de ma méthode readObject.
Voici ma situation : je souhaite sérialiser une classe qui n'est pas sérialisable. Cette classe est ListeJoueurAffichage. Cependant et bien écrite dans un fichier binaire. Je le lit, cela ne provoque aucune erreur, mais aucun élément n'est ajouter dans ma liste. Je pense donc que mon problème vient de ma méthode readObject, cependant je ne voit pas le pourquoi.
Merci d'avance pour vos réponses.
ListeJoueurAffichage:
D'un notre côté j'ai une classe Sauvegarde qui as les méthode save et load suivante :
Voici ma situation : je souhaite sérialiser une classe qui n'est pas sérialisable. Cette classe est ListeJoueurAffichage. Cependant et bien écrite dans un fichier binaire. Je le lit, cela ne provoque aucune erreur, mais aucun élément n'est ajouter dans ma liste. Je pense donc que mon problème vient de ma méthode readObject, cependant je ne voit pas le pourquoi.
Merci d'avance pour vos réponses.
ListeJoueurAffichage:
public class ListeJoueursAffichage implements Serializable { private static ObservableList<Joueur> listJoueurObs = FXCollections.observableArrayList(); private static ListProperty<Joueur> listJoueur = new SimpleListProperty<>(listJoueurObs); public ObservableList<Joueur> getListJoueur() {return listJoueur.get();} public void setListJoueur(ObservableList<Joueur> value) {listJoueur.set(value);} public static ListProperty<Joueur> listJoueurProperty() {return listJoueur; } private static Manageur manageur = new Manageur(); static { listJoueurObs.add(new Joueur("cloclo")); listJoueurObs.add(new Joueur("vava")); listJoueurObs.add(new Joueur("hamster")); } protected void ajouter (Joueur joueur){ listJoueurObs.add(joueur); } public void supp (){ int i; for(i=0; i<listJoueurObs.size(); i++) listJoueurObs.remove(listJoueurObs.get(i)); } private void readObject(final ObjectInputStream ois) throws IOException, ClassNotFoundException { List<Joueur> list = new ArrayList<Joueur>(); list=(ArrayList<Joueur>) ois.readObject(); this.listJoueurObs = FXCollections.observableArrayList(list); System.out.println("Print read"); for(Joueur str:(listJoueurObs)){ list.add(str); } } private void writeObject(final ObjectOutputStream oos) throws IOException { List<Joueur> list = new ArrayList<>(); System.out.println("Print write"); for(Joueur str:(listJoueurObs)){ list.add(str); } oos.writeObject(list); } }
D'un notre côté j'ai une classe Sauvegarde qui as les méthode save et load suivante :
public void save(ListeJoueursAffichage listJoueurs) { try(FileOutputStream fos = new FileOutputStream("listeJoueur.txt")){ System.out.println("print list sauvegarder"); for(Joueur str:(listJoueurs.getListJoueur())){ System.out.println(str.getSurname()); } ObjectOutputStream oss = new ObjectOutputStream(fos); oss.writeObject(listJoueurs); oss.close(); } catch (IOException e){ e.printStackTrace(); } } public ListeJoueursAffichage load() { ListeJoueursAffichage listJoueurs = null; try (FileInputStream fis = new FileInputStream("listeJoueur.txt")) { ObjectInputStream ois = new ObjectInputStream(fis); listJoueurs=(ListeJoueursAffichage)ois.readObject(); } catch (IOException | ClassNotFoundException e){ e.printStackTrace(); } return listJoueurs; }
A voir également:
- Problème avec ma méthode readObject
- Methode rar - Guide
- Votre appareil est hors connexion. essayez une autre méthode de connexion - Forum Réseaux sociaux
- Le client et le serveur ne sont pas compatibles avec une version de protocole ou une méthode de chiffrement ssl commune. ✓ - Forum Réseaux sociaux
- Quelle est la méthode la plus rapide pour supprimer une page dans word - Guide
- La méthode range de l'objet _global a échoué ✓ - Forum VB / VBA