Modifier (et non remplacer) contenu d'un fichier texte

Modifier (et non remplacer) contenu d'un fichier texte - Java - Programmation

Marsh Posté le 14-02-2005 à 09:34:06    

J'ai bien fait qqs recherches sur le forum et ailleurs, mais comme je suis  archi débutant en java, j'ai du mal à savoir tirer ce qui m'interesse d'une gde quantité d'infos....
 
Donc mon prb est le suivant... je créée un intranet avec Java sur des servlets, et non sans mal, j'ai réussi à écrire dans un fichier avec le code suivant :

Code :
  1. BufferedWriter fichier = new BufferedWriter(new FileWriter ("print.txt" ));
  2. fichier.newLine();
  3. fichier.write(id_user+" vient de se connecter avec la session "+session.getId());
  4. fichier.close();


 
En revanche, quand l'utilisateur repasse sur cette page, le fichier est écrasé....
 
 
Ca doit etre simple à solutionner, mais je ne vois pas !
(Je me suis documenté sur la classe BufferedWriter et FileWriter, mais je ne vois pas de manip qui permettent de selectionner "lecture seule/écriture/ajout, etc... )
 
Merci de votre aide !


Message édité par dcvlm le 14-02-2005 à 09:34:53

---------------
ZZZZzzzzz
Reply

Marsh Posté le 14-02-2005 à 09:34:06   

Reply

Marsh Posté le 14-02-2005 à 09:44:54    

Tu t'es documenté comment ?
Si tu vas voir la javadoc :
http://java.sun.com/j2se/1.4.2/doc [...] 20boolean)
 
Tu verras des constructeurs avec un parametre append pour ajouter au fichier

Reply

Marsh Posté le 14-02-2005 à 10:13:02    

edit : j'étais en train de dire que ca ne marchait pas.... mais en fait, j'avais oublié de descendre tomcat et de le remonter....
D'ailleurs, si qq sait comment faire pr éviter d'avoir à faire cette manip à chaque fois qu'on veut tester un changement, je suis preneur !!
 
Meric !


Message édité par dcvlm le 14-02-2005 à 11:50:44

---------------
ZZZZzzzzz
Reply

Marsh Posté le 14-02-2005 à 10:20:16    

Citation :

je ne veux pas ca écrive à la fin plutot qu'au début


Et maintenant en Français ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 14-02-2005 à 11:52:13    

sircam a écrit :

Citation :

je ne veux pas ca écrive à la fin plutot qu'au début


Et maintenant en Français ?


 
Bah sorti de la phrase, c'est sûr que ça n'a plus grand sens...
C'est malin !  :fou:


---------------
ZZZZzzzzz
Reply

Marsh Posté le 14-02-2005 à 13:16:28    

Même dans le contexte, ça n'avait pas de sens : tu veux écrire au début du fichier, ou à la fin ? :o
 
D'ailleurs, la phrase en question a disparu. T'aurais pas viré un de tes posts ? Tu as cité "append", ou j'ai rêvé ? Tout ça ne facilite pas la communication. :jap:


Message édité par sircam le 14-02-2005 à 13:16:47

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 14-02-2005 à 18:17:29    

sircam a écrit :

Même dans le contexte, ça n'avait pas de sens : tu veux écrire au début du fichier, ou à la fin ? :o
 
D'ailleurs, la phrase en question a disparu. T'aurais pas viré un de tes posts ? Tu as cité "append", ou j'ai rêvé ? Tout ça ne facilite pas la communication. :jap:


 
En fait, je voulais dire : mon prb n'est pas d'écrire à la fin ou au début du fichier... Il est qu'a chaque fois le contenu précédént était écrasé....
Donc effectivement y'a un post qui a disparu, car en fait, je pensais que ce que tu proposais ne marchait pas... alors qu'en fait, je m'étais fait avoir avec Tomcat...
Et nos posts se sont croisés (malgré l'incohérence apparente avec les heures de posts) : j'ai donc éffacé le mien avant d'avoir vu ta réponse...
 
Merci, donc, pour ta solution qui solve mon prb...  :jap:


---------------
ZZZZzzzzz
Reply

Marsh Posté le 14-02-2005 à 18:29:50    

Heck ? :heink:
 
Mais je n'ai même pas proposé de solution ?! Ou tu me remercies d'avance pour la solution à venir ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 14-02-2005 à 18:39:11    

Il y a cette version du constructeur de FileWriter: FileWriter(String fileName, boolean append) dans la JavaDoc...
 
si tu mets true, tu écriras à la fin du fichier...sans ré-écraser ton fichier à chaque passage...
 
Pour écrire au début, je pense pas que tu puisses passer par un BufferedWriter (mais j'ai pas regardé à fond)...
[edit] oups, ca a déjà été dit :(
 
[edit]
Pour ton souci de devoir redémarrer l'appli, essaye de changer ta classe et de vider ton cache tomcat, ça marchera p'tre...
 


Message édité par djok_fb le 14-02-2005 à 18:41:18
Reply

Marsh Posté le 14-02-2005 à 18:45:35    

sircam a écrit :

Heck ? :heink:
 
Mais je n'ai même pas proposé de solution ?! Ou tu me remercies d'avance pour la solution à venir ?


 
Ooops.... rendons à César ce qui appartient à Cesar... je voulais parler de patachou !::


---------------
ZZZZzzzzz
Reply

Marsh Posté le 14-02-2005 à 18:45:35   

Reply

Marsh Posté le 14-02-2005 à 18:46:27    

Ce topic vire au burlesque [:itm]
 
Quelqu'un veut des crêpes ?


Message édité par sircam le 14-02-2005 à 18:46:51

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 14-02-2005 à 19:09:58    

Citation :

Pour écrire au début, je pense pas que tu puisses passer par un BufferedWriter (mais j'ai pas regardé à fond)...
[edit] oups, ca a déjà été dit :(


 
Effectivement, patachou avait déja proposé la meme chose, et cela me convient parfaitement...  :wahoo:  
 

Citation :

Pour ton souci de devoir redémarrer l'appli, essaye de changer ta classe et de vider ton cache tomcat, ça marchera p'tre...


 
Concernant le deuixème point : changer la classe me permet en effet de ne pas avoir a redémarrer Tomcat. En revanche, c'est plus long quand meme....(PC assez rapide, plus rapide que moi pr faire cette manip à la main !  ;) )
Et vider le cache de Tomcat, on fait comment ?


---------------
ZZZZzzzzz
Reply

Marsh Posté le 14-02-2005 à 20:13:08    

tomcat n'a pas de cache ...

Reply

Marsh Posté le 15-02-2005 à 11:22:12    

euh, si il a un cache mais il est pas forcément actif...

Reply

Sujets relatifs:

Leave a Replay

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