Bonjour,
Objectif : Enregister des Objets dans un fichier et Les retaurer depuis ce fichier.
Ecriture dans le fichier:
J'ai utillisé la méthode writeObject de la classe ObjectOutputStream pour enregister mes objets. L est un objet de la classe Livre
Récupérer les livres stockés depuis le fichier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FileOutputStream fout= new FileOutputStream("out.txt"); ObjectOutputStream out= new ObjectOutputStream(fout); out.writeInt(L); out.close();
Dans cette phase où j'ai le problème : je n'arrive pas à réccupérer mes objets. Voilà comment je procède:
il m'affiche toujours :
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 try{ FileInputStream fis = new FileInputStream("mesEmploye.txt"); ObjectInputStream ois = new ObjectInputStream(fis); List<Livre> L = new ArrayList<livre>(); if(ois.available() == 0) System.out.println("0 BYTES"); if(ois.read() == -1) System.out.println("viiiide"); else{ try { while(ois.available() > 0){ try{ L.add((Livre) ois.readObject()); } catch(ObjectStreamException ose) {} catch(ClassNotFoundException cnfe) {} catch (EOFException e){} } } finally { ois.close(); } } }catch (EOFException e){ e.getMessage(); e.printStackTrace(); } catch (FileNotFoundException e) {e.printStackTrace();} catch (java.io.IOException e) { e.printStackTrace(); } catch(Exception e){ e.getMessage(); e.printStackTrace();}
0 Bytes
Viiiiiiide
Malgrès que le fichier a été bien alimenté.
Merci pour vos aides.
Sisiniya
Partager