我想从文本文件中读取,每当我在文本文件中添加一行并保存它时,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 :(得分: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
}
}
答案 1 :(得分:0)
使用apache-commons-io而不是滚动自己的实现。它实现了" tail -f"你想要实现的功能。
http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/input/Tailer.html