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 :

pb avec la sérialisation


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut pb avec la sérialisation
    Bonjour,
    j'ai un fichier jar dans lequel j'ai un fichier d'information, à la base, j'avais un fichier xml, mais j'ai changé par un fichier sérialisé, ça me parait plus utile dans mon cas, vu que je stocke juste un objet.

    le souci, c'est que lorsque je veux lire le fichier sérialisé, il m'affiche cela.
    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
    java.io.EOFException
    	at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
    	at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(Unknown Source)
    	at java.io.ObjectInputStream$BlockDataInputStream.readUTF(Unknown Source)
    	at java.io.ObjectInputStream.readUTF(Unknown Source)
    	at java.io.ObjectStreamClass.readNonProxy(Unknown Source)
    	at java.io.ObjectInputStream.readClassDescriptor(Unknown Source)
    	at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    	at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    	at java.io.ObjectInputStream.readObject0(Unknown Source)
    	at java.io.ObjectInputStream.readObject(Unknown Source)
    	at version.FileVersion.loadVersion(FileVersion.java:77)
    	at plugins.PluginsLoader.initLoader(PluginsLoader.java:188)
    	at plugins.PluginFonction.loadDirectory(PluginFonction.java:72)
    	at main.JFLAP.main(JFLAP.java:126)
    Je vous montre mon bout de code pour lire un fichier à partir d'un jar.
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    //tmp ici est le nom du fichier 
    URL url = new URL("jar:file:"+f[index].getCanonicalPath()+"!/"+tmp);
    InputStream is = url.openStream();
    //on crée le fichier en local pour pouvoir désérialiser et récupérer les informations
    File fichier = this.fileFunctions.createFile(is,tmp);
    //instanciation d'une classe qui permet de sérialiser et de désérialiser 
    FileVersion fileVer = new FileVersion();
    fileVer.setFile(fichier);
    Version versionToLoad = fileVer.loadVersion();
     
    /*----------- METHODE LOAD VERSION qui désérialise ***////////
    ObjectInputStream in = null;
    try {
    	try {
    		in = new ObjectInputStream(new 
      					BufferedInputStream(new FileInputStream(dataFile)));
    				} 
    	catch (FileNotFoundException e) {JOptionPane.showMessageDialog(null,
    					"Fichier d'information de JFLAP non disponible",
    					"Fichier d'information",
    					JOptionPane.ERROR_MESSAGE); }
    	catch (IOException e) {e.printStackTrace();}
    	try {
    		this.version = (Version) in.readObject();
    	} catch (IOException e) {e.printStackTrace();} 
    	catch (ClassNotFoundException e) {e.printStackTrace();}
    	catch (NullPointerException e){}
    	}
    	finally {
    		try {
    			in.close();
    		} 
    		catch (IOException e) {e.printStackTrace();}
    		catch (NullPointerException e){};
    	} 
        	return this.version;
    En espérant que vous pourrez m'aider.
    il faut savoir que je réussi à sérialiser lors de l'ouverture du logiciel pour récupérer les informations du logiciel.
    Mais là, comme le fichier d'information est inclu dans le .jar, je pense que ça vient de là, mais je n'arrive pas à résoudre le pb!!!!!!

    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    c bon, c réglè, finalement, ça venait de ma fonction createFile
    elle était pas correcte, c'etait un problème de flux, ça marchait bien pour un fichier xml, mais ça bugger pour un fichier sérialisé, alors que maintenant xml ou pas, sérialisé ou pas,ça fonctionne ,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probléme avec la sérialisation
    Par momjunior dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 30/11/2009, 14h21
  2. Aller plus loin avec la sérialisation XML
    Par tomlev dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 04/10/2009, 17h53
  3. Erreur avec la sérialisation uniquement en ligne
    Par erehcab dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2008, 23h27
  4. Stockage de pixels avec la sérialisation
    Par DeadEye0112 dans le forum C#
    Réponses: 12
    Dernier message: 30/08/2007, 16h35

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