Chcę okresowo odczytywać plik dziennika, do którego również jest zapisywany. Program będzie okresowo odczytywał zawartość pliku dziennika i parsował go, aby wyodrębnić niektóre wartości. Ale nie chcę czytać całego pliku za każdym razem.C# - Najbardziej efektywny sposób okresowego odczytywania ostatniej części pliku
Czy istnieje sposób, aby odczytać plik z konkretnej linii?
Na przykład przy pierwszym odczycie plik ma 100 wierszy. Zanotowałem tę wartość i następnym razem, gdy przeczytam, zaczynam czytać od linii 100 i zapisuję numer linii bieżącego pliku.
Czy jest to skuteczny sposób? Plik dziennika wzrośnie do około 100 MB i muszę czytać co 5 sekund. Więc nie byłoby tak wydajne, aby za każdym razem przeczytać kompletny plik.
Wszelkie sugestie są mile widziane.
Można spojrzeć na Tail.NET http://www.codeproject.com/Articles/7568/Tail-NET – itsmatt
Można podzielić plik na kilka plików lub DB przeznaczony do tego celu. Chociaż nie jestem pewien, jaką korzyść zapewnia tylko 100 MB pliku. Strumienie mają zazwyczaj indeksy początkowe. Dlaczego po prostu tego nie użyć? –