文件是否增加了新的内容
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); } }
相关文章推荐
- APP安装时间!(使用adb命令安装)
- Oracle 中的dual表
- mysql SQL设置外键约束ON DELETE CASCADE
- angular 之 $http
- getStyle 获取元素所绑定的css属性
- angula 之 ngModel
- Ember.js 入门指南——控制器(controller)
- Ember.js 入门指南——管理controller之间的依赖关系
- redis 3.0源码安装详细步骤说明
- Thrift-0.9.3的多服务接口实现
- Thrift-0.9.3 服务器端参数优化
- 连接池Commons Pool2的使用
- 【转】linux下使用openssl生成 csr crt CA证书
- 使用Thumbnailtor实现图片的裁剪,缩放
- 8位以上 密码 正则表达式
- JDBC读取新插入Oracle数据库Sequence值的5种方法
- 分享一个面试经历(Delphi)
- Android Studio 新建项目首次提交到GIT
- 自己实现的一个分布式锁的工具以及后面的一些计划
- java字节码忍者禁术