Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lire un fichier texte en flux continu ligne par ligne ? ( fonction tail sous unix)

1 réponse
Avatar
Vincent
Bonjour,

J'ai un fichier qui est rempli au fil de l'eau par un programme. (c'est un
fichier de log)
Avec une autre appli ( en C# of course ) j'aimerai afficher les données du
fichier à mesure qu'elles arrivent
( pour être précis, récupérer toute nouvelle ligne, non pas caractère par
caraxtère).
Est ce possible sans avoir à ouvrir/lire/fermer toutes les secondes ce
fichier ?
( surtout s'il devient volumineux, en évitant des conflits d'acces et autre
soucis ?)

Ca ressemble un peu à une fonction "tail" sous unix

une idée ?

Merci

Vincent

1 réponse

Avatar
Gilles TOURREAU
Le Wed, 14 Feb 2007 09:38:32 +0100, Vincent
a écrit:

Bonjour,

J'ai un fichier qui est rempli au fil de l'eau par un programme. (c'est
un
fichier de log)
Avec une autre appli ( en C# of course ) j'aimerai afficher les données
du
fichier à mesure qu'elles arrivent
( pour être précis, récupérer toute nouvelle ligne, non pas caractère par
caraxtère).
Est ce possible sans avoir à ouvrir/lire/fermer toutes les secondes ce
fichier ?
( surtout s'il devient volumineux, en évitant des conflits d'acces et
autre
soucis ?)

Ca ressemble un peu à une fonction "tail" sous unix

une idée ?

Merci

Vincent





Vous pouvez :

1/Utiliser le remoting .NET pour faire communiquer vos applications afin
de "notifier" l'écriture d'information dans votre fichier log...

2/Utiliser un FileSystemWatcher avec l'événement Changed qui indique qu'un
fichier à changé...

Pour info :
Il faut garder en mémoire (pour l'application qui lit le fichier), la
position de lecture du fichier...

Exemple (Le code suivant est à la main...) :

int position;

static Main()
{
position = TailleFichier();
}

void OnChanged/Notified()
{
OuvrirFichier();
SePositionnerA(position);
Lire();
position = PositionCourante();
FermerFichier();
}

Cordialement

--
Gilles TOURREAU
Responsable Informatique


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr