[R] Dernière ligne d'un fichier : Vide ou pas ?
Posté : mer. 03 janv. 2018 11:40
Bonjour à tous,
Je me retrouve devant un problème plus compliquer à résoudre que je ne l'avais imaginé.
J'ai besoin de savoir si un fichier se termine par un saut de ligne ou non.
En théorie c'est assez simple, il suffit de vérifier si la dernière ligne est vide ou non. En pratique, s'il n'y a qu'un seul saut de ligne à la fin du fichier je trouve toujours que la dernière ligne n'est pas vide, alors qu'elle l'est.
Par exemple, je trouve le même résultat que mon fichier contienne ceci :
"Ligne 1
Ligne 2
Ligne 3"
Ou ceci :
"Ligne 1
Ligne 2
Ligne 3
"
La différence est subtile, mais quand on fait un writeline en fin de fichier la différence est notable. Dans un cas tout est sur la même ligne dans l'autre sur 2 lignes différentes et ça change tout.
Dans les deux exemples ci-dessus un FileReadLine ("monfichier.txt", -1) retourne "Ligne 3". Et ce n'est pas cool.
Avec un saut de ligne supplémentaire cela n'est plus vrai.
Ma version d'AutoIT est 3.3.15.0 (Beta).
J'ai essayer d'autres méthodes sans succès. Quelqu'un aurait une idée ?
Je me retrouve devant un problème plus compliquer à résoudre que je ne l'avais imaginé.
J'ai besoin de savoir si un fichier se termine par un saut de ligne ou non.
En théorie c'est assez simple, il suffit de vérifier si la dernière ligne est vide ou non. En pratique, s'il n'y a qu'un seul saut de ligne à la fin du fichier je trouve toujours que la dernière ligne n'est pas vide, alors qu'elle l'est.
Par exemple, je trouve le même résultat que mon fichier contienne ceci :
"Ligne 1
Ligne 2
Ligne 3"
Ou ceci :
"Ligne 1
Ligne 2
Ligne 3
"
La différence est subtile, mais quand on fait un writeline en fin de fichier la différence est notable. Dans un cas tout est sur la même ligne dans l'autre sur 2 lignes différentes et ça change tout.
Dans les deux exemples ci-dessus un FileReadLine ("monfichier.txt", -1) retourne "Ligne 3". Et ce n'est pas cool.
Avec un saut de ligne supplémentaire cela n'est plus vrai.
Ma version d'AutoIT est 3.3.15.0 (Beta).
J'ai essayer d'autres méthodes sans succès. Quelqu'un aurait une idée ?