Remplacer une ligne dans un fichier

Remplacer une ligne dans un fichier - Java - Programmation

Marsh Posté le 01-08-2003 à 11:36:46    

Salut
 
J'en ai besoin en effet. Voila ce que j'utilise en gros:

Code :
  1. //------------
  2. //pour lire
  3. //------------
  4. BufferedFileReader in = new BufferedFileReader(new FileReader("fic.dat" ));
  5. String LigneLue = in.readLine();
  6. //------------
  7. //pour ecrire
  8. //------------
  9. PrintWriter out = new PrintWriter(new FileWriter("fic.dat" ));
  10. out.println("hardware.fr c tro dla balluche" );


 

  • une solution serait je pense de demarrer l'ecriture à partir de la ligne que je voudrais remplacer avec un second parametre true a FileWriter pour inserer et non ecraser - mais je ne vois pas comment faire ca...


  • une autre solution serait d'effacer la fin du fichier (apres sauvegarde) a partir de cette ligne, d'ecrire la ligne en mode ecrasement (sans le true), puis de restorer la fin du fichier - et la je vois encore moins comment faire...


HHEEEEELP

Reply

Marsh Posté le 01-08-2003 à 11:36:46   

Reply

Marsh Posté le 05-08-2003 à 21:00:07    

HEY c bon...
apparemment ya pas de soluce predefinie en java dc g trouvé un moyen d'y parvenir en lisant le fic jusqu'a l'endroit ou je veux ecrire en copiant ligne a ligne dans un autre fichier "nouvo", puis j'ecris ds nouvo ma ligne, puis je continue à copier la fin du fichier a la suite dans nouvo.Il ne reste pu qu'a ecraser le contenu du fichier avec celui de nouvo et a effacer nouvo.
 
C lourd, mais ca marche  :bounce:  
 

Reply

Marsh Posté le 05-08-2003 à 21:05:03    

en fonction de l'emplacement de l'insertion dans le fichier tu peux:
- créer un nouveau fichier ave cle contenu mis à jour et effacer l'ancien
- ouvre ton fichier en lecture/ecriture, tu te positionnes à l'endroit de l'insertion, tu copies la suite dans un buffer ou un fichier temporaire, tu fais l'insertion ou et recopies

Reply

Sujets relatifs:

Leave a Replay

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