2015-07-29 8 views
0

Я хочу прочитать из текстового файла так, что всякий раз, когда я добавляю строку в свой текстовый файл и сохраняю ее, программа java должна читать эту конкретную строку и печатать ее. До сих пор у меня есть что-то вроде этого:Чтение из текстового файла непрерывно - Java

FileReader fileReader = new FileReader(filename); 
BufferedReader bufReader = new BufferedReader(fileReader); 

while (true){ 

    if (bufReader.ready()){ 
     String line = bufReader.readLine(); 
     System.out.println(line); 
     continue; 
    } 
    else { 
     Thread.sleep(5000); 
     continue; 
    } 
} 

Этот код не печати на новые линии после того, как программа работает, и я обновить текстовый файл и сохранить. Есть ли способ, как я мог бы достичь этого?

+0

из-за этого 'струнного линии = bufReader.readLine();' каждый раз, когда он печатает одну линию. – Satya

+1

Другое примечание: ваши строки 'continue;' являются избыточными. Цикл while будет продолжен независимо. – CubeJockey

+2

Возможный дубликат [Java IO-реализация unix/linux «tail -f»] (http://stackoverflow.com/questions/557844/java-io-implementation-of-unix-linux-tail-f) – fgb

ответ

0

Я думаю, вы можете получить представление из этого кода:

BufferedReader br = new BufferedReader(fileReader); 
String line; 
while (true) { 
    line = reader.readLine(); 
    if (line == null) { 

     Thread.sleep(5000);//waiting till the new content 
    } 
    else { 
     // Read the line 
    } 
} 
+0

это не делает работа – stud91

Смежные вопросы