[Java] Réécriture dans un fichier texte

Fermé
jerome - 1 avril 2005 à 16:10
 lily_bg - 10 mars 2013 à 15:09
Bonjour,

je souhaite lire un fichier texte ligne à ligne, puis transformer chacune de ces lignes (en remplacant des mots) puis tout réécrire dans le fichier de départ (les nouvelles lignes remplacent les anciennes).

J'ai réussi à lire et à transformer les lignes, mais je n'arrive pas à réécrire la ligne à son ancienne place.
Les méthodes write() ne permettent pas de sélectionner la ligne où l'on souhaite écrire.

Pourriez-vous m'aider ?
Merci d'avance
A voir également:

5 réponses

OK ca marche ! merci.
j'ai encore une question mais je vais la poser dans un autre message pour clore celui-ci.
(ma question concerne la methode replaceAll)
2
Satrialien Messages postés 52 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 28 janvier 2006 13
1 avril 2005 à 16:46
Rebonjour ;)

si ton fichier n'est pas trop gros, tu peux faire la chose suivante :
- tu ouvres ton fichier texte en lecture
- tu lis ligne par ligne et stocke chaque ligne lue dans une ArrayList (ou un Vector, HashMap...)
- tu fermes ton fichier
- tu parcours ton vecteur et tu modifies chaque ligne
- tu ouvres ton fichier texte en écriture (ça va effacer directement le contenu)
- tu reparcoures ton tableau de lignes et tu écris chaque ligne dans le fichier
- tu fermes ton fichier texte.

Si ton fichier contient des millions de lignes, ça peut faire beaucoup à stocker dans une liste...

Aurélien
1
bonjour et merci de ta réponse.

Quand tu dis 'ouvrir en lecture', c bon si j'écris ca :
BufferedReader in = new BufferedReader(new FileReader(fichier));

et en écriture :
BufferedWriter out = new BufferedWriter(new FileWriter(fichier));

?
merci
1
Satrialien Messages postés 52 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 28 janvier 2006 13
1 avril 2005 à 17:25
wai avec des BufferedReader et BufferedWriter

code avec le BufferedWriter :

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;


public class Test2
{

public static void main(String[] args)
{
try
{
BufferedWriter out = new BufferedWriter(new FileWriter("c:\\test.txt"));
String s = "bonjour";
out.write(s);
out.newLine();
s = "tout le monde";
out.write(s);
out.close();
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}


}
0
OK merci je vais tester ca et je te dis si ca fonctionne.

a+
jerome
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

je souhaite lire une classe java ligne par ligne, chercher les lignes qui contient JTextField et les mettre dans une liste, ensuite parcourir à nouveau cette liste.
Finalement, chercher dans la liste la ligne :SetBounds(x,y,width,hight) et la modifier en forçant height à 20 pixels.


Pourriez-vous m'aider ?
Merci d'avance
0