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

  FORUM HardWare.fr
  Programmation
  Java

  ObjectInputStream EOFException

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ObjectInputStream EOFException

n°930043
the big be​n
Posté le 22-12-2004 à 14:26:12  profilanswer
 

Bonjour,
 
J'utilise les ObjectInputStream  pour sauver puis restaure mes objets dans des ficheirs.  
Tout fonctionne bien sauf à partir la 4eme lecture du fichier j ai une EOFException. Pourtant, je referme bien après chaque lecture...  
 
D avance merci :bounce:  
Ben
 
Voici mon code:

Code :
  1. public static CerveauImpl restaurerCerveau() {
  2.   CerveauImpl inobject = null;
  3.   try {
  4.     FileInputStream fos = new FileInputStream("cerveau.dat" );
  5.     ObjectInputStream ois = new ObjectInputStream(fos);
  6.     inobject = (CerveauImpl) ois.readObject();
  7.     ois.close();
  8.   } catch (FileNotFoundException e) {
  9.     e.printStackTrace();
  10.   } catch (IOException e) {
  11.     e.printStackTrace();
  12.   } catch (ClassNotFoundException e) {
  13.     e.printStackTrace();
  14.   }
  15.   return inobject;
  16. }

mood
Publicité
Posté le 22-12-2004 à 14:26:12  profilanswer
 

n°930046
FlorentG
Posté le 22-12-2004 à 14:29:27  profilanswer
 

C'est quoi comme truc ce que tu fais :

Code :
  1. public static CerveauImpl restaurerCerveau() {


:ouch:  
 
EOFException sinon c'est quand t'es arrivé à la fin du fichier, non ?

n°930050
the big be​n
Posté le 22-12-2004 à 14:32:24  profilanswer
 

oui bien sur que c est une fin de fichier mais pourquoi il ne m en fait qu apres 4 partie ca...
 
Et ce que je fait: un aprentissage via réseaux neuronaux

n°930053
FlorentG
Posté le 22-12-2004 à 14:35:09  profilanswer
 

Le FileInputStream qu'est pas clôt ?
 
 
Ouf pour ton projet, j'me suis dit "ça y est, il nous fait un programme pour faire le backup de son cerveau" :D

n°930056
the big be​n
Posté le 22-12-2004 à 14:36:52  profilanswer
 

Si je viens d ajouter un fos.close(); mais ca aide pas...
 
Non mon cerveau tient pas dans mon backup  ;)


Message édité par the big ben le 22-12-2004 à 14:37:23
n°930057
FlorentG
Posté le 22-12-2004 à 14:39:04  profilanswer
 

:D
 
Sinon envoi la StackTrace une fois de ton Exception


Message édité par FlorentG le 22-12-2004 à 14:39:24
n°930061
the big be​n
Posté le 22-12-2004 à 14:44:56  profilanswer
 

Atta tu va t amuser... :pt1cable:  
 
java.io.EOFException
 at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.readObject(Unknown Source)
 at java.util.ArrayList.readObject(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.readObject(Unknown Source)
 at java.util.ArrayList.readObject(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.readObject(Unknown Source)
 at java.util.ArrayList.readObject(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.readArray(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
 at java.io.ObjectInputStream.readSerialData(Unknown Source)
 at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
 at java.io.ObjectInputStream.readObject0(Unknown Source)
 at java.io.ObjectInputStream.readObject(Unknown Source)
 at ia.CerveauImpl.restaurerCerveau(CerveauImpl.java:114)
 at ia.Test.main(Test.java:29)


Message édité par the big ben le 22-12-2004 à 14:45:15
n°930065
FlorentG
Posté le 22-12-2004 à 14:49:41  profilanswer
 

Ouch :D Ok, donc c'est bien au moment du readObject...


Message édité par FlorentG le 22-12-2004 à 14:50:02
n°930067
sircam
I Like Trains
Posté le 22-12-2004 à 14:52:48  profilanswer
 

Je ne dis pas que c'est la cause de ton problème, mais ton block try/catch n'est pas tout à fait correct.
 
Si une exception se produit dans le bloc try, le close n'est jamais atteint.
 
Tu dois utiliser un bloc finally.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°930075
the big be​n
Posté le 22-12-2004 à 14:58:33  profilanswer
 

Oui en effet mais j ai testé c est pas ca non plus..

mood
Publicité
Posté le 22-12-2004 à 14:58:33  profilanswer
 

n°930129
benou
Posté le 22-12-2004 à 16:10:16  profilanswer
 

ben c'est surement qu'il est mal écrit dans le fichier ...


---------------
ma vie, mon oeuvre - HomePlayer
n°930135
the big be​n
Posté le 22-12-2004 à 16:20:59  profilanswer
 

Oui mais comment se fait il qu il peut le lire 3 fois avant alors?

n°930142
benou
Posté le 22-12-2004 à 16:28:15  profilanswer
 

c'est 4 fois le même fichier avec les mêmes données dedans ?  :heink:


---------------
ma vie, mon oeuvre - HomePlayer

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

  ObjectInputStream EOFException

 

Sujets relatifs
Plus de sujets relatifs à : ObjectInputStream EOFException


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)