Ton probléme est simple !
Lorsque tu appliques
String ligne=fic.readLine();
tu lis une ligne de, disons 10 caractéres. Ton pointeur dans le flux d'entrée est avancé d'autant -je te passe le CR+LF/CR...
ensuite tu écris:
strFin s'écrit et écrase les caractères de la ligne suivante, car ton pointeur d'entrée est sur la ligne suivante.... (rappel toi que tu as avancé lors du readLine().
Pour faire ta modification, je partirais sur:
- un RandomAccessFile en mode "rw"
- utilisation de la méthode seek(Long) pour jouer sur le pointeur du flux d'entrée (et de sortie puisque tu es en "rw")
Attention : si strFin et de longueur différente de strInit, tu obtiens n'importe quoi car tu écrases les octets.
Encore que, il est bon de faire un fichier temporaire au lieu de faire la méthode que tu as, copier les lignes 1 à 1 en contrôlant strInit et strFin... omme cela, tu risques rien par rapport à la longueur des tes chaînes...
Partager