Ecrire dans un fichier txt dans une ligne spécifique
most27
Messages postés74Date d'inscriptionmardi 29 octobre 2013StatutMembreDernière intervention 9 juillet 2016
-
28 mai 2016 à 13:46
most27
Messages postés74Date d'inscriptionmardi 29 octobre 2013StatutMembreDernière intervention 9 juillet 2016
-
28 mai 2016 à 20:16
Bonjour ,je veut écrire dans un fichier txt ,dans une ligne spécifique sans effacer son contenue mais ça ne marche pas j'ai essai deux codes :
Le premier -->
FileWriter fichiergraph = new FileWriter(path,true); BufferedWriter output = new BufferedWriter(fichiergraph); int compt=1; while ( compt<=num_ligne){ compt++; output.write("\n");
}
output.write(texte); output.close(); }
-->Le deuxième code consiste à lire les lignes du fichier ensuite écrire dans la ligne voulu voici mon code
KX
Messages postés16668Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention17 mars 2023125 28 mai 2016 à 18:44
Bonjour,
Un fichier c'est une succession de bits écrits les uns à la suite des autres sur le disque dur, tu ne peux pas insérer du texte au milieu, ou alors il faut décaler toute la fin du fichier d'autant de bits que ce que tu as inséré, sous réserve d'avoir assez d'espace à la fin du fichier.
Bref, le plus simple c'est de tout lire dans une liste, ajouter ta ligne et tout réécrire à partir de liste.
import java.nio.file.*;
import java.util.List;
Path path = Paths.get("C:/test.txt");
List<String> lines = Files.readAllLines(path);
lines.add(3, "test"); // index 3: between 3rd and 4th line
Files.write(path, lines);