Hallo,
ich habe Probleme mit dem Einlesen einer Textdatei bzw. ist meine Lösung sehr unsauber und ich wüsste gerne, ob sich das auch eleganter lösen lässt. Das Problem ist, dass die Datei die ich lese gleichzeitig (von anderer Stelle) auch geschrieben wird, d.h. ich lese eine Zeile und wenn es noch eine Zeile gibt, dann lese ich auch diese - und wenn nicht, dann muss gewartet werden bis es wieder eine gibt.
Aktuell sieht das bei mir in etwa so aus
Ich gucke also ob eine Zeile gelesen wurde, und wenn nicht dann warte ich 1 Sekunde und gucke erneut... so lange bis eine bestimmte gelesene Zeile status auf 0 gesetzt hat. Den Code finde ich selbst aber höchst uneffizient und mich würde interessieren ob/wie ich das verbessern kann?
Ich hoffe sehr, jemand hat eine Idee...
Viele Grüße,
DOB
ich habe Probleme mit dem Einlesen einer Textdatei bzw. ist meine Lösung sehr unsauber und ich wüsste gerne, ob sich das auch eleganter lösen lässt. Das Problem ist, dass die Datei die ich lese gleichzeitig (von anderer Stelle) auch geschrieben wird, d.h. ich lese eine Zeile und wenn es noch eine Zeile gibt, dann lese ich auch diese - und wenn nicht, dann muss gewartet werden bis es wieder eine gibt.
Aktuell sieht das bei mir in etwa so aus
Code:
while(status != 0) {
s1 = bufferedreader.readLine();
if(s1 != null) {
// gelesene Zeile verarbeiten...
} else {
try
{
Thread.sleep(1000);
} catch(InterruptedException interruptedexception) {}
}
}
Ich gucke also ob eine Zeile gelesen wurde, und wenn nicht dann warte ich 1 Sekunde und gucke erneut... so lange bis eine bestimmte gelesene Zeile status auf 0 gesetzt hat. Den Code finde ich selbst aber höchst uneffizient und mich würde interessieren ob/wie ich das verbessern kann?
Ich hoffe sehr, jemand hat eine Idee...
Viele Grüße,
DOB