您的位置:首页 > 其它

文件是否增加了新的内容

2015-10-15 00:00 393 查看
摘要: log不断的输出到.txt文件中。但是想知道什么时候log停止输出!可以采用此方法!
(原创内容,请尊重作者,转载请标明出处)

public class TestLogOut {
public static void main(String[] args) {
//要读的TXT文件
final File tmpLogFile = new File("LogShow.txt");
try {
realtimeShowLog(tmpLogFile);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private long lastTimeFileSize = 0;  //上次文件大小
/**
* 实时输出日志信息
* @param logFile 日志文件
* @throws IOException
*/
public void realtimeShowLog(File logFile) throws IOException{
//指定文件可读可写
final RandomAccessFile randomFile = new RandomAccessFile(logFile,"rw");
//启动一个线程每10秒钟读取新增的日志信息
ScheduledExecutorService exec =
Executors.newScheduledThreadPool(1);
exec.scheduleWithFixedDelay(new Runnable(){
public void run() {
try {
//获得变化部分的
randomFile.seek(lastTimeFileSize);
String tmp = "";
while( (tmp = randomFile.readLine())!= null) {
System.out.println("log正常输出中");
}
System.out.println("log输出结束");
lastTimeFileSize = randomFile.length();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}, 0, 10, TimeUnit.SECONDS);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: