Bonjour,
J'ai un petit soucis en java :$
Je voudrais savoir comment on fait pour:
-ouvrir un fichier, puis rechercher un string dans celui-ci, puis ajouter un string immédiatement après la chaine trouvée.
Merci pour l'aide :)
Version imprimable
Bonjour,
J'ai un petit soucis en java :$
Je voudrais savoir comment on fait pour:
-ouvrir un fichier, puis rechercher un string dans celui-ci, puis ajouter un string immédiatement après la chaine trouvée.
Merci pour l'aide :)
Salut,
Il faut créer un nouveau fichier (par exemple, avec l'extension .tmp accolée à la fin du nom du fichier d'origine) : recopier le premier dans le second jusqu’à la ligne cherchée (y compris celle-ci), puis écrire la chaîne à ajouter, puis écrire le reste du fichier. Ensuite, après voir fermer les flux, on supprime l'ancien fichier (ou on le renomme en .bak par sécurité), puis on renomme le nouveau fichier comme l'ancien (puis on supprime le .bak éventuellement).
On peut également lire tout le fichier (s'il n'est pas très grand) avec la méthode Files.readAllLines(...), ajouter la chaine à l'endroit voulue, puis réécrire toute les lignes dans le fichier (avec Files.write(...)).
Eh ben... À moins que le fichier soit raisonnablement petit et puisse être chargé entièrement dans une String, ce n'est pas vraiment facile.
Le plus difficile c'est, quand tu dis "ajouter" tu veux dire "insérer entre la String trouvée et ce qui était derrière elle" ?
Si c'est le cas, ben, on ne peut pas insérer au milieu d'un fichier. La seule solution est de réécrire le fichier entièrement, avec les changements voulus. Et donc, puisque pour faire ça il y a besoin de lire le fichier qu'on essaie de modifier, ça doit être fait en deux temps : réécrire le fichier dans un nouveau fichier temporaire, puis, quand on a fini, effacer le fichier d'origine et le remplacer par celui qu'on vient de créer.
Merci à vous deux pour vos réponses, je vais tester ça et vous tiens au courant :zoubi: