ObjectInputStream EOFException - Java - Programmation
Marsh Posté le 22-12-2004 à 14:29:27
C'est quoi comme truc ce que tu fais :
Code :
|
EOFException sinon c'est quand t'es arrivé à la fin du fichier, non ?
Marsh Posté le 22-12-2004 à 14:32:24
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
Marsh Posté le 22-12-2004 à 14:35:09
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"
Marsh Posté le 22-12-2004 à 14:36:52
Si je viens d ajouter un fos.close(); mais ca aide pas...
Non mon cerveau tient pas dans mon backup
Marsh Posté le 22-12-2004 à 14:39:04
Sinon envoi la StackTrace une fois de ton Exception
Marsh Posté le 22-12-2004 à 14:44:56
Atta tu va t amuser...
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)
Marsh Posté le 22-12-2004 à 14:49:41
Ouch Ok, donc c'est bien au moment du readObject...
Marsh Posté le 22-12-2004 à 14:52:48
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.
Marsh Posté le 22-12-2004 à 16:10:16
ben c'est surement qu'il est mal écrit dans le fichier ...
Marsh Posté le 22-12-2004 à 16:20:59
Oui mais comment se fait il qu il peut le lire 3 fois avant alors?
Marsh Posté le 22-12-2004 à 16:28:15
c'est 4 fois le même fichier avec les mêmes données dedans ?
Marsh Posté le 22-12-2004 à 14:26:12
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
Ben
Voici mon code: