Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2797 connectés 

  FORUM HardWare.fr
  Programmation

  [java] Enregistrer un vecteur dans un fichier et le recupérer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] Enregistrer un vecteur dans un fichier et le recupérer

n°167150
desch3
Posté le 27-06-2002 à 12:28:52  profilanswer
 

Bonjour,
 
comment on fait pour enregistrer un vecteur dans un fichier et ensuite pouvoir le relire ?
 
la serialisation ca marche pour ca ??
 
si vous aviez un ptit exemple de code ;)
 
merci
David

mood
Publicité
Posté le 27-06-2002 à 12:28:52  profilanswer
 

n°167179
gfive
Posté le 27-06-2002 à 13:16:19  profilanswer
 

Bah, le problème de la sérialisation, c'est l'évolution des versions de Java : un vecteur sauvé dans un fichier grâce à la sérialisation avec une JRE 1.2.x ne sera pas forcément récupéré correctement par une JRE 1.3.X....
 
Tu as quoi, dans ton vecteur?? Parce c'est assez simple à refaire...

n°167196
desch3
Posté le 27-06-2002 à 13:36:14  profilanswer
 

Ba hau debut, je voulais le faire moi mm, mais le pb, c que j'ai des objets de types entité (que j'ai créé) et je sais pas comment les sauvergarder en texte. C'est pour ca, si yavait moyen de mettre directement le vecteur, et de recuperer le vecteur, trop simple.
 
Pour les versions, c pas super important, j'ai le 1.4 et je pense pas que ca evolue.
David

n°167199
darklord
You're welcome
Posté le 27-06-2002 à 13:39:21  profilanswer
 

bin si tu as fait des objets toi meme il doivent étendre java.io.Serializable déjà ...
 
Ensuite tu peux utiliser la sérialisation si l'entité qui sauve et qui charge est la même


---------------
Just because you feel good does not make you right
n°167959
desch3
Posté le 28-06-2002 à 11:50:25  profilanswer
 

Ca marche bien, seul petit pb, comment je sais que j'arrive a la fin du fichier ?

Code :
  1. FileInputStream lecture = new FileInputStream("Europe.xxx" );
  2. ObjectInputStream p = new ObjectInputStream(lecture);
  3. while(true) {
  4. lue = (Entite) p.readObject();
  5. System.out.println("Nom : " + lue.nom);
  6. }


 
ce code leve une exception

n°167973
El Scorcho
Posté le 28-06-2002 à 12:04:40  profilanswer
 

Code :
  1. FileInputStream lecture = new FileInputStream("Europe.xxx" );
  2. ObjectInputStream p = new ObjectInputStream(lecture);
  3. lue = (Entite) p.readObject();
  4. while(lue != null) {
  5.     System.out.println("Nom : " + lue.nom);
  6.     lue = (Entite) p.readObject();
  7. }


Message édité par El Scorcho le 28-06-2002 à 12:05:10
n°168012
desch3
Posté le 28-06-2002 à 12:58:00  profilanswer
 

ca compile pas, lue n'est peut etre pas initialisé, alors, j'ai fais un do {...} while, mais il leve qd mm l'exception :((

n°168023
El Scorcho
Posté le 28-06-2002 à 13:13:17  profilanswer
 

Desch3 a écrit a écrit :

ca compile pas, lue n'est peut etre pas initialisé, alors, j'ai fais un do {...} while, mais il leve qd mm l'exception :((




 
oui enfin j'avais supposé que tu avais déclaré "lue" avant.
et si tu fais un do {..} while ça peut planter si le premier élément est égal à null (il faut tester à null avant chaque affichage).
et si tu nous disais quelle est l'exception levée ce serait 'achement cool...  ;)

n°168025
desch3
Posté le 28-06-2002 à 13:17:11  profilanswer
 

C declaré avant en Entite lue;
 
l'exception est EOFException

n°168036
El Scorcho
Posté le 28-06-2002 à 13:58:09  profilanswer
 

Desch3 a écrit a écrit :

C declaré avant en Entite lue;
 
l'exception est EOFException




 
J'ai testé et ça me fait la même chose. En fait j'avais jamais utilisé de ObjectInputStream mais je pensais qu'on pouvait procéder de la même façon qu'avec un BufferedReader pour tester la fin de fichier. Donc apparemment il faut faire un try, catch sur EOFException pour savoir si t'es au bout... Enfin y'a peut-être un autre moyen mais alors je le connais pas.

mood
Publicité
Posté le 28-06-2002 à 13:58:09  profilanswer
 

n°168039
HappyHarry
Posté le 28-06-2002 à 14:07:22  profilanswer
 

encore que si tu mets qu'un objet dans le fichier y a pas trop besoin de s'emmerder ...

n°168058
desch3
Posté le 28-06-2002 à 14:56:41  profilanswer
 

ouais, si ya qu'un objet, mais la yen a x :)
 
ca serait trop facile sinon. Pour le moment, j'ai traité EOFException pour qu'il fasse rien. C sur que c pas la top, mais bon, je voulais tester le reste pour voir si ca marchait.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [java] Enregistrer un vecteur dans un fichier et le recupérer

 

Sujets relatifs
Problème JAVA avec Oracle[Java] Comment effacer la premiere ligne d'un fichier
[java] lire des fichiers dans un jar[mysql] récupérer certains résultats
Fichier Batch : ajouter des paramètres spécifique au programmeRecuperer l'ID
[PHP] Récupérer les valeur d'un array dans des variables?[access] importation de tables DB3, fichier d index introuvable
Récupérer des signets ???? 
Plus de sujets relatifs à : [java] Enregistrer un vecteur dans un fichier et le recupérer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR