flux corrompu ObjectInputStream

Le
phil89
Bonsoir

J'utilise le ObjectInputStream pour lire des objets serialise.
Suite a une modif de la classe Java j'ai le message d'erreur
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.readFully(Unknown
Source)

J'avais deja force la version de la serialisation
par static final long serialVersionUID = -4985468851619198320L;

Il semble que les deux premiers octets du flux gere la longueur de
l'objet ?
Existe t il un traitement pour bypasser ces deux premiers octets ?

Merci d'avance
Philippe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
phil89
Le #1589259
C'est le fait d'ajouter une declaration de int non transient qui pose
probleme
TestMan
Le #1646872
C'est le fait d'ajouter une declaration de int non transient qui pose
probleme


Bonjour,

Logique, si vous dites "je rajoute un int à sérialiser" mais "la
structure à sérialiser n'a pas changée" et "non je ne gére pas non-plus
la compatibilité ascendante en manuel par du code read/writeObject
qui-va-bien" ... c'est une voie sans issue ;-)

A+
TM

phil89
Le #1685226
On 18 mar, 10:08, TestMan

C'est le fait d'ajouter une declaration de int non transient qui pose
probleme


Bonjour,

Logique, si vous dites "je rajoute un int à sérialiser" mais "la
structure à sérialiser n'a pas changée" et "non je ne gére pas non -plus
la compatibilité ascendante en manuel par du code read/writeObject
qui-va-bien" ... c'est une voie sans issue ;-)

A+
TM


Bonjour

Effectivement le reste de la structure n'a pas changé.
Je n'ai effectivement pas fait de Read Write entre deux objets.
La serialisation XML est d'apres mes lectures beaucoup plus lente
Auriez vous une autre idée

A+
Philippe


TestMan
Le #1845178
On 18 mar, 10:08, TestMan

C'est le fait d'ajouter une declaration de int non transient qui pose
probleme
Bonjour,


Logique, si vous dites "je rajoute un int à sérialiser" mais "la
structure à sérialiser n'a pas changée" et "non je ne gére pas non-plus
la compatibilité ascendante en manuel par du code read/writeObject
qui-va-bien" ... c'est une voie sans issue ;-)

A+
TM


Bonjour

Effectivement le reste de la structure n'a pas changé.
Je n'ai effectivement pas fait de Read Write entre deux objets.
La serialisation XML est d'apres mes lectures beaucoup plus lente
Auriez vous une autre idée

A+
Philippe


Bonjour,

Je reformule ma réponse pour qu'elle vous soit plus "limpide" :

Votre structure a changée (rajoute de int) => sérialisation automatique
ne marchera plus car il y a un champ en plus d'un coté dont l'autre ne
sait que faire.

Alors, soit vous rétablissez la parité des deux coté du "fil" (avec un
identifiant de série automatique), soit vous gérez la différence (cf.
surcharge des méthodes de sérialisation).

Bon code ;-)

A+
TM



Publicité
Poster une réponse
Anonyme