Hallo zusammen,
ich bin ganz neu hier und habe auch schon nach einem ähnlichen Thread zu meinem Thema gesucht, aber leider keinen gefunden
Es geht darum eine ca. 10 Megabyte große Log-Datei zu öffnen. (TXT-Format)
In dieser Datei sind alle Daten einer Maschine mitgeloggt. Das Problem ist, dass mit jedem neuen Job die Maschine die Logdatei nur erweitert. D.h. sie wird immer länger.
--> Daran kann ich nichts ändern, und das ist auch nicht mein Problem! Soweit nur als Info.
Meine Aufgabe besteht darin in der riesigen Log-Datei den letzten Job zu isolieren und darin nach bestimmten Ereignissen suchen.
Darum versuche ich nun die Textdatei mittels einem Streamreader zeilenweise in ein string-Array (jedes Element ist eine string-Zeile) einzulesen.
Wenn eine Zeile das Schlüsselwort "BVR-Start" enthält, 'vergesse' ich alles was ich bisher eingelesen habe und setze den Arrayindex auf 0.
Dadurch habe ich erreicht, dass nur der letzte Job, der ja vor kurzem ganz hinten an der riesigen Log-Datei angehängt wurde in meinem Array zeilenweise steht.
Mein Problem ist nun, dass das ganze bei ein paar Zeilen klappt, aber bei der Original-Log mit 10 MB ist meine CPU mit 100 % ausgelastet während dem zeilenweise öffnen
Ausserdem kann ich ja vorher nicht wissen, wie groß mein Array sein muss, d.h. wie viele Zeilen ich einlese.
Gibt es eine andere Möglichkeit???
Kann ich eine Text-Datei auch vom Ende her zeilenweise einlesen?
Vielen Dank für eure konstruktiven Tipps!