Problem

mhamed_dev Messages postés 4 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 10 juin 2007 - 9 juin 2007 à 13:25
mhamed_dev Messages postés 4 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 10 juin 2007 - 10 juin 2007 à 18:51
bjr j ai un grand probl ceque j arrive pa a ecrire sans ecraser les donnees dans un fichier en utilisan la classe ObjectOutputStream la class FileOutputStream j ai utlise le constructeur FileOutputStream(chemain,true) mais une exception est leve StreamCorruptedException : invalide code..........  svp aidez moi

5 réponses

cali70 Messages postés 71 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 19 mars 2008
9 juin 2007 à 17:00
Tu pourrais montrer le bout de code en question ? Sinon difficile de voir vraiment ce qui ne va pas...
0
mhamed_dev Messages postés 4 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 10 juin 2007
10 juin 2007 à 00:37
class stg{
String nom;
int age;
stg(){}
stg(String nom, int age){
this.nom=nom;
this.age=age;
}
public static void main(String []arg) throws IOException{
ObjectOutputStream obj=new ObjectOutputStream(new FileOutputStream("c:\\don.txt",true));
stg s=new stg();
s.nom="pers";
s.age=12;
obj.writeObject(s);
obj.close();

ObjectInputStream ob=new ObjectInputStream(new FileInputStream("c:\\don.txt"));
s=(stg)ob.readObject();
System.out.println(s.nom+" ; "+s.age);
}

//////  tu vas executer ce programme 2 fois et dans la 2eme execution il va t'afficher que le premier enregistrement et il vas t'affiche aussi un exception (StreamCorruptedException)
et merci
0
cali70 Messages postés 71 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 19 mars 2008
10 juin 2007 à 01:21
A mon avis, ces méthodes ne sont pas prévues pour sérialiser plusieurs objets dans un seul fichier.
Si il y'a deux objets dans ton fichier texte la méthode readObject ne peut pas lire les deux, elle va considérer que le fichier que tu lui passe contient un seul objet et produira une erreur.

Essais plutôt de mettre tes objets dans un tableau ou bien une ArrayList par exemple puis de serialiser la liste. Dans ce cas tu devrais être en mesure de la relire avec readObject et ainsi récupérer les objets qui y sont stoqués.
0
mhamed_dev Messages postés 4 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 10 juin 2007
10 juin 2007 à 18:48
prment  merci .
j ai deja utilise la class vector et j ai serialise la classe  mais tjrs le mem problem j peux lire que le premier enregistrement a partir du fichier et lorsque la lecture d 2 eme enregi une excepion est leve (StreamCorruptedException).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mhamed_dev Messages postés 4 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 10 juin 2007
10 juin 2007 à 18:51
et si tu vex t peux me donner ton adresse pour qu on parle mieux
0