Bonjour,
Je débute dans la sérialization et je voudrais sérialiser une ArrayList .
par exemple une classe classe1 qui va produire une liste A=[a,b,c] et utiliser cette liste dans une autre classe classe2
liste C= A
Bonjour,
Je débute dans la sérialization et je voudrais sérialiser une ArrayList .
par exemple une classe classe1 qui va produire une liste A=[a,b,c] et utiliser cette liste dans une autre classe classe2
liste C= A
En regardant les tutoriels disponibles avant de poster tu gagnerais du tempsLa sérialisation binaire en Java.
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag :resolu:
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
bonsoir voila j'ai lu le tutorial et j'ai essayé de créer un petit exempel mais ça fonctionne pas
j'ai deux classe C et D
la classe C contient une valeur float C=9; j'ai sérailizer cette valeur dans un fichier window.se
et je veux la récuperer dans la classe D
voila le code
classe D contient la valeur 9
et je cherche à récuperer la valeur dans la classe C
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 package mustapha; import java.io.*; public class D { public D() { } public static void main(String[] args) { try { float C=9; FileOutputStream fos = new FileOutputStream("window.se"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeFloat(C); oos.flush(); oos.close(); System.out.println("Donnée sauvée: " +C); } catch (java.io.IOException e) { } } }
voila l'erreur
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 package mustapha; import java.io.*; public class C { public C() { } public static void main(String[] args) { try { FileInputStream f = new FileInputStream("window.se"); ObjectInputStream o = new ObjectInputStream(f); float g = o.readFloat(); o.close(); System.out.println("Donnée actuelle : " + g); } catch(IOException o) { o.printStackTrace(); } } }j'espere avoir une réponse merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 java.io.FileNotFoundException: window.se (Le fichier spécifié est introuvable) at java.io.FileInputStream.open(Native Method)
j'ai modifié le code par
FileInputStream f = new FileInputStream("c:\\time.txt");
et
FileInputStream f = new FileInputStream("c:\\time.txt");
voila l'erreur
sur la ligne ObjectInputStream o = new ObjectInputStream(f);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at mustapha.C.main(C.java:15)
meme fichier time ne contient rien
pour sérialiser il me semble que ta classe doit implémenter java.io.Serializable (suffit d'ajouter implements java.io.serializable dans le cas présent)
quand une classe doit etre ecrite oui ... quand elle se contente de lire ou d'ecrire d'autre type de donnee par forcement
genre si je fais new ObjectOutputStream(new FileOutputStream("out.ser").write(instancedemaclasse); et que instancedemaclasse n'implements pas Serializable a l'execution ca va faire drole lol
EDIT pour ulysse :
heu tu veux lire des float ou tu veux serialiser un arraylist ...?
car bon a lire un float dans un fichier j'utiliserais Scanner qui est moins penible a utiliser
La méthode "readObject" de la classe "FileInputStream" renvoyant un Object (et non une ArrayList) il faut la caster.
Code : Sélectionner tout - Visualiser dans une fenêtre à part B = (ArrayList) o.readObject();
Partager