S
Spectrum
Gast
Hallo,
ich stehe vor dem Problem, dass ich eine Textdatei einlesen möchte, die noch in Entstehung ist. Es kommt also alle X Minuten (unregelmäßig) eine Zeile hinzu. Bisher verfahre ich so, dass ich prüfe ob ich 'null' einlese und wenn ja (ich also zB am Dateiende bin) ich dann Thread.sleep(10000); mache und dann erneut prüfe ob ich 'null' einlese oder ob etwas neues hinzugekommen ist usw (Schleife). Wirklich elegant ist das ganze natürlich nicht. Gibt es irgend eine Möglichkeit mein Programm dazu zu bekommen am Dateiende zu warten ohne diese "busy waiting" Technik zu verwenden?
Kleines Beispiel aus der Praxis: Ich lasse gerne mal tail -f /var/log/http/error_log nebenherlaufen und hier ist es zB ja auch so, dass es neue Zeilen in Echtzeit ausgibt. Gibt es da auch in Java eine Lösung?
Ich hoffe mein Problem ist verständlich, über Feedback würde ich mich freuen
Viele Grüße,
Spectrum
ich stehe vor dem Problem, dass ich eine Textdatei einlesen möchte, die noch in Entstehung ist. Es kommt also alle X Minuten (unregelmäßig) eine Zeile hinzu. Bisher verfahre ich so, dass ich prüfe ob ich 'null' einlese und wenn ja (ich also zB am Dateiende bin) ich dann Thread.sleep(10000); mache und dann erneut prüfe ob ich 'null' einlese oder ob etwas neues hinzugekommen ist usw (Schleife). Wirklich elegant ist das ganze natürlich nicht. Gibt es irgend eine Möglichkeit mein Programm dazu zu bekommen am Dateiende zu warten ohne diese "busy waiting" Technik zu verwenden?
Kleines Beispiel aus der Praxis: Ich lasse gerne mal tail -f /var/log/http/error_log nebenherlaufen und hier ist es zB ja auch so, dass es neue Zeilen in Echtzeit ausgibt. Gibt es da auch in Java eine Lösung?
Ich hoffe mein Problem ist verständlich, über Feedback würde ich mich freuen
Viele Grüße,
Spectrum