Bonjour à tous,
Je veux bien accéder à la dernière ligne d'un fichier pour effectuer la dessous un traitement. est ce qu'il y a une méthode en C# pour en utiliser?
Merci par avance.
Bonjour à tous,
Je veux bien accéder à la dernière ligne d'un fichier pour effectuer la dessous un traitement. est ce qu'il y a une méthode en C# pour en utiliser?
Merci par avance.
Si c'est pour rajouter du texte a la fin du fichier c'est avec File.AppendText(string path)
Pour récupérer la dernière ligne tu peux faire quelque chose comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 string GetLastLine(string path) { using (var reader = new StreamReader(path)) { string result = null; string line; while ((line = reader.ReadLine()) != null) { result = line; } return result; } }
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Merci pour vos réponse:
en fait je veux bien lire juste la dernière ligne je ne veux pas parcourir le fichier en entier ligne par ligne.
Ce n'est pas possible ; vu que tu ne sais pas à l'avance où se termine chaque ligne, tu est obligé de parcourir le fichier pour trouver toutes les fins de ligne.
A la rigueur, il serait possible de partir de la fin du fichier pour trouver la fin de l'avant-dernière ligne, mais c'est nettement plus complexe...
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Bonjour,
Il me semble déjà avoir utilisé le code suivant, mais cela implique la lecture du fichier complet en mémoire, en termes d'optimisation c'est pas le top
Bon dév.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 string[] lignesDuFichier = File.ReadAllLines("monfichier.txt"/*, monEncodage*/); // Dernière ligne string derniereLigne = lignesDuFichier[lignesDuFichier.Length - 1];
EDIT : Le code que t'as founi TomLev est mieux tout de même...
Je crois que ReadAllLines est plus rapide mais est plus gourmand en mémoire vu que tu charges tout le fichier en mémoire
Partager