un "fclose" après modification d'un fichier xml

un "fclose" après modification d'un fichier xml - Java - Programmation

Marsh Posté le 15-06-2006 à 16:55:57    


Bonjour, je parse et modifie un fichier xml avec dom
puis je sauve le fichier en utilisant ce que j'ai trouvé sur developpez.com : http://java.developpez.com/faq/jav [...] reerXmlDom
 

Code :
  1. // Création du fichier de sortie
  2.       File file = new File(fichier);
  3.       Result resultat = new StreamResult(fichier);
  4.       // Configuration du transformer
  5.       TransformerFactory fabrique = TransformerFactory.newInstance();
  6.       Transformer transformer = fabrique.newTransformer();
  7.       transformer.setOutputProperty(OutputKeys.INDENT, "yes" );
  8.       transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1" );
  9.       // Transformation
  10.       transformer.transform(source, resultat);


 
le probleme s'est que apres le fichier n'est plus accesible
cad : quand je l'ouvre avec word par exemple, il me met : "fichier est verouillé pour modification par un autre utilisateur ..."
 
comment faire un close ?
 

Reply

Marsh Posté le 15-06-2006 à 16:55:57   

Reply

Marsh Posté le 15-06-2006 à 17:07:13    

j'ai oublié de dire que :
- le fichier redevient accessible quand mon application se ferme
- ((StreamResult) resultat).getWriter().close(); ne marche pas car "((StreamResult) resultat).getWriter()" me retourne null :??:  
- des fois le fichier est accessible des fois non  :heink:

Reply

Marsh Posté le 15-06-2006 à 20:23:06    

Citation :

File file = new File(fichier);
Result resultat = new StreamResult(fichier);


 
tu voulais pas plutot mettre "file" comme parametre constructeur de StreamResult ?

Reply

Marsh Posté le 21-06-2006 à 21:47:44    

en effet, il y a une erreur dans la faq de developpez.com ....
par contre, mon programme est correct et jai toujours le probleme
 
j'ai aussi contourné le probleme en creant un fichier temporaire pour le "transformer.transform" que je recopie dans un autre fichier
 
est il possible que ce soit un "bug" de java ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed