IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Java et ObjectOutputStream


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 111
    Points : 76
    Points
    76
    Par défaut Java et ObjectOutputStream
    Bonjour à tous

    Je voudrais stocker des objets dans un ObjectOutputStream pour ensuite pouvoir les ressortir à l'aide d'un ObjectInputStream.
    Lorsque ce que je mets mes objets à la main dans le fichier, j'arrive à les ressortir mais quand j'essaye de les inserrer dans un boucle while, j'ai une exception StreamCorruptedException au moment où je veux ressortir les objets du fichier

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    while( (lecture = buffer.readLine()) != null) {
    	Ligne ligne=null;
    	ligne=new Insert(lecture);
    	ObjectOutputStream fichierEcriture = new ObjectOutputStream(new FileOutputStream("toto", true));
    	fichierEcriture.writeObject(ligne);
    	fichierEcriture.flush();
    	fichierEcriture.close();
    }//while
     
     
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path_analyse+"\\"+"bb_.txt"));
    try{
    	while(true){
                     Object ob=ois.readObject();
    	         Ligne l=(Ligne) ob;
    	}
    }
    catch(EOFException eof){
    	eof.printStackTrace();
    }finally{
    	ois.close();
    	}
    est ce que quelqu'un voit pourquoi j'ai un probleme?

    Merci à tous

    Bonne journée

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fichierEcriture.close();
    ne devrait pas être à l'extérieur de la boucle ?

  3. #3
    Membre régulier Avatar de gelam
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 69
    Points : 74
    Points
    74
    Par défaut
    Bonjour,
    Tu essaie d'ajouter à ton fichier. Malheureusement il semble que lors de la première écriture Java ajoute un entête. Dès lors on a des problème à la lecture.
    Je te conseille de faire toutes tes écritures en une fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ObjectOutputStream fichierEcriture = new ObjectOutputStream(new FileOutputStream("toto"));
    while( (lecture = buffer.readLine()) != null) {
    	Ligne ligne=null;
    	ligne=new Insert(lecture);
    	fichierEcriture.writeObject(ligne);
    }//while
    fichierEcriture.flush();
    fichierEcriture.close();
    On constate qu'un fichier d'objet ne supporte pas l'ajout.

    Il me semble que le flush n'est pas utile car le close en fait un.

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/07/2010, 17h12
  2. le Java est la continuité du C++ ???
    Par Vincent PETIT dans le forum Débats sur le développement - Le Best Of
    Réponses: 33
    Dernier message: 25/08/2005, 21h17
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 20h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 25/05/2002, 00h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo