文件是否增加了新的内容

原创
2015/10/15 23:32
阅读数 9
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);   
    }     
}


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部