Bonjour à tous,
J'ai développé cette petite appli sous eclipse, et quand je la lance, elle fonctionne mais a la fin dans la console j'ai cette erreur :
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at Main.main(Main.java:55)
Je ne connais encore pas bien le Java et je ne sais pas d'ou ça peut venir...
J'utilise ces 2 classes :
Main.java :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class Main { public static void main(String[] args) { //Déclaration des objets en dehors du bloc try/catch ObjectInputStream ois; ObjectOutputStream oos; String fichier = "livre.txt"; try { oos = new ObjectOutputStream( new BufferedOutputStream( new FileOutputStream( new File("livre.txt")))); //Nous allons écrire chaque objet Livre dans le fichier oos.writeObject(new Livre("livre1","auteur1", "genre1", 500)); oos.writeObject(new Livre("livre2", "auteur2", "genre2", 600)); oos.close(); //Récupération des données ois = new ObjectInputStream( new BufferedInputStream( new FileInputStream( new File("livre.txt")))); //Et affichage System.out.println("Affichage des livres :"); System.out.println("*************************\n"); while (fichier != "") { try { System.out.println(((Livre)ois.readObject()).toString()); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } ois.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Livre.java :
Merci de votre aide!
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 import java.io.Serializable; public class Livre implements Serializable{ private String titre; private String nomAuteur; private String genre; private int nbPage ; public Livre(String titre, String nomAuteur, String genre, int nbPage) { this.titre = titre; this.nomAuteur = nomAuteur; this.genre = genre; this.nbPage = nbPage; } } public String toString(){ return "Titre du livre : " + this.titre + "\nAuteur : " + this.nomAuteur + "\nGenre : " + this.genre + "\nNombre de pages : " + this.nbPage + "\n"; } }
Partager