Bonjour,
J'ai un petit soucis avec des flux d'entrée/sorties... C'est un truc que j'ai jamais beaucoup utilisé, du coup, j'ai des lacunes dans le domaine.
En fait, je dois récupérer un fichier xml pour modifier des données dedans, puis le renvoyer à Ibatis.
Le reader, obtenu à partir du fichier de config que je dois lire, est du type InputStreamReader.
J'ai créé un buffer à partir du reader.
A des fins de tests, j'ai fait afficher les lignes, ce qui fonctionne.
Par contre, lorsque je repasse mon reader à ma méthode, j'ai une erreur:
J'en conclut, que le readline est arrivé à la fin du fichier, d'où l'erreur !XML Parser Error. Cause: org.xml.sax.SAXException: Fatal Error: URI=null Line=-1: Premature end of file
J'ai alors essayé des réset, des mark, etc... sur le flux, mais rien à faire.
Mon but étant de modifier le contenu de mon flux, j'aimerai donc:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Reader reader = Resources.getResourceAsReader("com/bdd/dao/daoConfig.xml"); // System.out.println(reader.toString()); BufferedReader br=new BufferedReader(reader); String ligne; while ((ligne=br.readLine())!=null){ System.out.println(ligne); } DaoManagerBuilder.buildDaoManager(reader);
- Lire mon fichier -> OK
- Parcourir lignes par lignes -> OK
- Modifier le contenu, et réécrite dans le fichier -> ??
- Repasser le flux modifié à ma méthode DaoManagerBuilder.buildDaoManager qui attend donc un reader (il faut donc convertir le flux modifié) -> ??
Je m'en remets à vous, car moi, les flux, ça me dépasse ^^
merci d'avance![]()
Partager