TextReader - Leggere file di testo partendo dall'ultima riga

domenica 06 maggio 2007 - 13.40

breton79 Profilo | Newbie

Ciao a tutti, volevo porvi un mio problema.
Avrei la necessità di leggere un file di testo, il quale viene aggiornato ogni n secondi. Dato che la mia applicazione (scritta in C#) deve sincronizzarsi con i dati presenti nel medesimo file di testo, avevo pensato di utilizzare l'oggetto TextReader per leggere il file, però volevo trovare il modo di leggere soltanto l'ultima riga, senza dover ogni volta leggere tutte le righe presenti.
Non sono riuscito a trovare all'interno di TextReader un metodo che leggesse il file dalla fine.
Grazie.

Cteniza Profilo | Guru

Infatti non esiste su un file di testo (file sequenziale) la possibilità "standard" di partire dall'ultima riga.
Credo invece che la migliore strategia sia:
Leggi le dimensioni del file
Apri il file in binario
Posizioni il puntatore sul file a file.length - (un numero di bytes plausibile perchè possa contenere una riga).
Leggi tutti i bytes fino alla fine del file
Trasformi i bytes in stringa
fai la split con i caratteri di fine riga
prendi l'ultimo elemento

breton79 Profilo | Newbie

Grazie per avermi dato una risposta immediata.
Sinceramente pensavo fosse più semplice

Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5