Bonjour
Mon souci est le suivant:j'ai stocké des données dans un fichier(etudiant.txt) grâce à la sérialisation.Le problème est que je ne sais pas comment récupérer les données que j'ai stockées et les afficher.
Ensuite si j'essaie de mettre 2 enregistrements dans le fichier,est ce que le 2e va écraser le premier?
Merci d'avance.
En fait j'ai 2 classes;voici une partie de la 1ere:
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 public void actionPerformed(ActionEvent ev) { if(ev.getSource().equals(boutonOk)){ Etudiant etud=new Etudiant(); etud.setNom(jtNom.getText()); etud.setPrenom(jtPrenom.getText()); try { FileOutputStream fos=new FileOutputStream("etudiant.txt"); ObjectOutputStream oos=new ObjectOutputStream(fos); oos.writeObject(etud); oos.flush(); oos.close(); JOptionPane.showMessageDialog(null,"Sauvegarde réussie!"); } catch (Exception e) { e.printStackTrace(); } } if(ev.getSource().equals(boutonAfficher)){ /*Etudiant fichier=new Etudiant(); //fichier.setTitre(getTxttitre().getText()); //fichier.setPrenom(getTxtcontenu().getText()); try { System.out.println("reussi"); System.out.println("creation de : " + fichier); FileInputStream fis=new FileInputStream("etudiant.txt"); ObjectInputStream ois=new ObjectInputStream(fis); /* String s = (String)ois.readObject(); System.out.println(s);*/ //Etudiant f= (Etudiant)ois.readObject(); //jtNom.setText(f.getPrenom()); //jtPrenom.setText(f.getPrenom()); // ois.close(); // } catch (Exception e) { //e.printStackTrace(); // } Etudiant p = null; try { // ouverture d'un flux d'entrée depuis le fichier "etudiant.txt" FileInputStream fis = new FileInputStream("etudiant.txt"); // création d'un "flux objet" avec le flux fichier ObjectInputStream ois= new ObjectInputStream(fis); try { // désérialisation : lecture de l'objet depuis le flux d'entrée p = (Etudiant) ois.readObject(); } finally { // on ferme les flux try { ois.close(); } finally { fis.close(); } } } catch(IOException ioe) { ioe.printStackTrace(); } catch(ClassNotFoundException cnfe) { cnfe.printStackTrace(); } if(p != null) { System.out.println(p + " a ete deserialise"); } } Et voici la classe Etudiant: public class Etudiant implements Serializable{ private String nom; private String prenom; public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getPrenom() { return prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } public Etudiant() { } }
Partager