如何实现Java对文件行尾内容的实时监控?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1098个文字,预计阅读时间需要5分钟。
今天讲一下如何用Java实现实时监控文件行尾的追加内容。类Linux命令`tail -f`。在前面的面试中遇到过一个问题,就是用Java实现tail功能。之前的方法是做一个定时任务,每秒去读取一次。
今天讲一下怎样用Java实现实时的监控文件行尾的追加内容,类似Linux命令
tail -f
在之前的面试中遇到过一个问题,就是用Java实现tail功能,之前的做法是做一个定时任务每隔1秒去读取一次文件,去判断内容是否有追加,如果有则输出新追加的内容,这个做法虽然能勉强实现功能,但是有点太low,今天采用另外一种实现方式,基于事件通知。
1.WatchService
首先介绍一下WatchService类,WatchService可以监控某一个目录下的文件的变动(新增,修改,删除)并以事件的形式通知文件的变更,这里我们可以实时的获取到文件的修改事件,然后计算出追加的内容,Talk is cheap,Show me the code.
Listener
简单的接口,只有一个fire方法,当事件发生时处理事件。
本文共计1098个文字,预计阅读时间需要5分钟。
今天讲一下如何用Java实现实时监控文件行尾的追加内容。类Linux命令`tail -f`。在前面的面试中遇到过一个问题,就是用Java实现tail功能。之前的方法是做一个定时任务,每秒去读取一次。
今天讲一下怎样用Java实现实时的监控文件行尾的追加内容,类似Linux命令
tail -f
在之前的面试中遇到过一个问题,就是用Java实现tail功能,之前的做法是做一个定时任务每隔1秒去读取一次文件,去判断内容是否有追加,如果有则输出新追加的内容,这个做法虽然能勉强实现功能,但是有点太low,今天采用另外一种实现方式,基于事件通知。
1.WatchService
首先介绍一下WatchService类,WatchService可以监控某一个目录下的文件的变动(新增,修改,删除)并以事件的形式通知文件的变更,这里我们可以实时的获取到文件的修改事件,然后计算出追加的内容,Talk is cheap,Show me the code.
Listener
简单的接口,只有一个fire方法,当事件发生时处理事件。

