Guten Morgen!
Ich plane grade ein Programm zum Auslesen von Log-Dateien.
Das Szenario sieht so aus, dass die Dateien, während ich auf sie zugreife ständig weitergeschrieben werden und das die Auswertung der Dateien alle paar Sekunden auf den neusten Stand gebracht werden soll.
Ich habe mir das nun so vorgestellt einen Thread zu starten, in dem GUI intialisiert, die Config des Programms eingelesen und die Dateien geöffnet werden.
Dann sollen sie in einem extra Thread auf bestimmte Werte durchsucht werden, der sich dann immer wiederholt, bis das Programm geschlossen wird und prüft, ob neue Zeilen hinzugekommen sind, diese in der Auswertung hinzufügt und selbige ausgibt.
Erst wenn das Programm geschlossen wird, soll der Stream geschlossen werden.
Ist das so möglich?
Ich lese Dateien immer mit BufferedReader->InputStreamReader->FileInputStream(file) aus. Bleibt der Steam dabei auch offen, wenn ich das Ende der Datei erreicht habe (ich wüsste nicht, was dagegen spräche, aber ich meine sowas schon mal gehört zu haben)?
Ich plane grade ein Programm zum Auslesen von Log-Dateien.
Das Szenario sieht so aus, dass die Dateien, während ich auf sie zugreife ständig weitergeschrieben werden und das die Auswertung der Dateien alle paar Sekunden auf den neusten Stand gebracht werden soll.
Ich habe mir das nun so vorgestellt einen Thread zu starten, in dem GUI intialisiert, die Config des Programms eingelesen und die Dateien geöffnet werden.
Dann sollen sie in einem extra Thread auf bestimmte Werte durchsucht werden, der sich dann immer wiederholt, bis das Programm geschlossen wird und prüft, ob neue Zeilen hinzugekommen sind, diese in der Auswertung hinzufügt und selbige ausgibt.
Erst wenn das Programm geschlossen wird, soll der Stream geschlossen werden.
Ist das so möglich?
Ich lese Dateien immer mit BufferedReader->InputStreamReader->FileInputStream(file) aus. Bleibt der Steam dabei auch offen, wenn ich das Ende der Datei erreicht habe (ich wüsste nicht, was dagegen spräche, aber ich meine sowas schon mal gehört zu haben)?