Ich arbeite aktuell an einem Programm das ein Logfile von einem Gameserver einliest und den IngameChat ausliest um damit Ingame-Commands für admins zu ermöglichen. Soweit funktioniert das auch, ich habe auch eine möglichkeit gefunden die neuen Zeilen im Logfile einzulesen! Hierzu lese ich beim Programmstart das Logfile komplett ein und dann lese ich es erneut ein, ich gleiche beide ab und lese die entsprechenden Zeilen aus, danach wird die Variable die, das Logfile vom ersten einlesen enthält mit dem neuen überschrieben und es beginnt von vorne!
Das Problem ist das diese Methode nicht effektiv genug ist da ein Logfile gut 100MB haben kann und das Programm dadurch ca. 200Mb braucht...
Meine Frage ist also, gibt es eine Methode mit der ich einen Filestream öffnen kann der immer die aktuellen daten enthält, sodass ich mit xy.readline einfach immer die nächste Zeile einlesen kann?
Ich wäre sehr dankbar wenn mir da jemand weiter helfen könnte!
Momentan sieht der entsprechende Code so aus:
Hoffentlich blickt ihr bei meinem Codestil durch
Das Problem ist das diese Methode nicht effektiv genug ist da ein Logfile gut 100MB haben kann und das Programm dadurch ca. 200Mb braucht...
Meine Frage ist also, gibt es eine Methode mit der ich einen Filestream öffnen kann der immer die aktuellen daten enthält, sodass ich mit xy.readline einfach immer die nächste Zeile einlesen kann?
Ich wäre sehr dankbar wenn mir da jemand weiter helfen könnte!
Momentan sieht der entsprechende Code so aus:
Quellcode
- Dim x As New StreamReader(New FileStream(lo, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
- Console.WriteLine("Get Playerlist...")
- Dim tmx() As String = x.ReadToEnd().Split(Environment.NewLine)
- Dim l As New List(Of String)
- 'Ab hier
- en:
- x = New StreamReader(New FileStream(lo, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
- Dim neww() As String = x.ReadToEnd().Split(Environment.NewLine)
- If tmx.Length <> neww.Length Then
- For i As Integer = tmx.Length - 1 To neww.Length - 1
- l.Add(neww(i))
- Next
- End If
Hoffentlich blickt ihr bei meinem Codestil durch