Posez votre question Signaler

[java] remplacer une partie du texte

jerome - Dernière réponse le 11 août 2011 à 14:07
Bonjour,

comment faire pour remplacer une partie du texte située dans un fichier ?

Exemple :
le fichier "toto.txt" contient le mot "bonjour" que je souhaite remplacer par "bonsoir".
J'ai réussi à lire le texte ligne par ligne et à faire une recherche du mot "bonjour". Une fois ce mot trouvé, comment le remplacer ?
Faut-il créer un nouveau fichier et tout copier ? ou alors peut-on remplacer directement le texte sur le fichier existant ?

Merci d'avance,
Jérôme
Lire la suite 

[java] remplacer une partie du texte »

12 réponses
Réponse
+2
moins plus
Voici mon code :

/** je crée un flux entrant sur mon fichier */
BufferedReader in = new BufferedReader(new FileReader(fichier));

String ligne;
/** tant qu'il y a des lignes */
while ((ligne = in.readLine()) != null) {
/** je fais mon traitement */
}
maily- 31 mars 2005 à 11:36
Je ne connaissais pas ces objets!
Oublie ma remarque, c'est la manière la plus simple que tu as fait.

D'habitude, je passais par des FileInputStream et des FileOutputStream, c'est pour ça!
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour!

Après avoir lu ta ligne, qu'en fais tu?
Je pense qu'il faut que tu récupère tout le contenu de ton fichier et que tu le modifies dans ton java. Après, tu écris dans le même fichier le contenu modifier.

maily- 31 mars 2005 à 10:55
Tu utilise la class String?

Et bien, dans la javadoc, j'ai trouvé ça:
public String replaceAll(String regex,
                         String replacement)

    Replaces each substring of this string that matches the given regular expression with the given replacement.

    An invocation of this method of the form str.replaceAll(regex, repl) yields exactly the same result as the expression 
--

Maily
Ragondin, va au coin!
jerome - 31 mars 2005 à 11:02
Merci beaucoup !
je crois que ca devrait aller avec ca.
je savais que j'avais déjà vu quelque chose de ce genre là mais je n'ai pas pensé à regarder dans la classe String !

a+
jerome
mailymaily - 31 mars 2005 à 11:04
Sincèrement, pour aller plus vite et éviter de lire ligne par ligne, ce qui est assez couteux, récupère tout, fait un replaceAll et réinsère le tout!
:)
Ajouter un commentaire
Réponse
+0
moins plus
Qu'appelles-tu "récupérer tout" ?
comment je fais exactement à partir d'unfichier sur mon disque dur ?

merci
Ajouter un commentaire
Réponse
+0
moins plus
Qu'utilise tu comme objet pour lire ligne par ligne ton fichier?
Ajouter un commentaire
Réponse
+0
moins plus
en fait, FileReader et FileWriter , c'est la même chose que FileInputStream et FileOutputStream mais c'est un peu plus simple à gérer lorsqu'on traite des flux de caractères.

Merci de ton aide en tout cas.
Ajouter un commentaire
Réponse
+0
moins plus
télécharge le logiciel gratuit replacetext et tu pourras faire tout ce que tu voudras dans le genre.
Franck
haha - 11 août 2011 à 14:07
mais lol...
Ajouter un commentaire
Ce document intitulé « [java] remplacer une partie du texte » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?