Fichier .properties et flux

cs_mohammed83 Messages postés 10 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 26 juillet 2010 - 16 juil. 2010 à 16:46
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010 - 17 juil. 2010 à 18:43
Bj tout le monde;

Je fais l'ajout dans un fichier attributes.properties en utilisant les flux et en indiquant l'emplacement du fichier sur le disque.le probleme c'est que l'ajout ne se fait que lorsque je rafraichi le fichier attributes.properties .voici le bout de code que j'ecrit:
FileWriter fichier = new FileWriter(("D://J2eeProjets/SysApplication/WebContent/WEB-INF/attributes.properties"),true);
BufferedWriter bf = new BufferedWriter(fichier);
bf.newLine();
serverToAdd = "serveur" + (k + 1) + "="+ instanceId + "," + addressId + ","
+ k + "," + desc + "," + portId+","+userName+","+password;
fichier.write(serverToAdd);
bf.close();
fichier.close();

Une fois je saisi mes donnees je clik ajouter, les donnees ne s'ajout que lorsque je parte sur le fichier et le rafraichir.

Est ce qu'il ya possibilite de faire l'ajout dans le fichier .properties sans lui indiquer le chemin.


Merci si vous avez une solution .

1 réponse

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
17 juil. 2010 à 18:43
Bonjour,
Pour être franc je n'est pas tout compris.
J'ai envie de dire que tu ne peux écrire dans un fichier sans préciser son emplacement.
Plusieurs fichier properties peuvent exister et (à ma connaissance) il n'y a pas un fichier properties par "défaut" dans lequel on pourra écrire.
Si le problème est de ne pas utiliser un chemin absolu, tu peux utiliser par exemple System.getProperty("user.dir"); qui retourne le répertoire dans lequel le programme a été invoqué.
Ensuite au lieu d'écrire dans un fichier puis de le charger pour modifier le properties, il paraît plus logique de modifier directement le Properties (méthode setProperty) puis de l'enregistrer éventuellement.
Pour l'enregistrer, tu peux utiliser la méthode "store" de l'objet Properties. Tu lui donne un FileOutputStream sur où tu veux sauvegarder ton properties et il le formate correctement tout seul.
Cdt
0
Rejoignez-nous