用Java监视文件

时间:2013-01-21 11:06:28

标签: java performance file

我正在Linux盒子上读取Java日志文件,持续2分钟,查找某些消息。我存储了最后一个偏移量(RandomAccessFile getFilePointer),当我检测到LastModified已经改变时,从它开始读取;这是最好的做法,甚至是对吗?

3 个答案:

答案 0 :(得分:4)

如果您使用的是Java 7,则可以使用WatchService在目录内的文件发生更改时通知您。这与中断类似,不需要连续轮询。有关WatchService的更多详细信息,请参阅this。否则你最好使用你已经完成的轮询方法。

答案 1 :(得分:2)

试试这个Tailer: http://commons.apache.org/io/apidocs/org/apache/commons/io/input/Tailer.html

这是“tail -f”Unix功能的Java实现。

答案 2 :(得分:1)

为了检测文件的更改或目录中任何内容的更改,您可以在该目录中查看新内容,修改现有内容以及删除任何目录中的任何现有内容。

见帖子:Directory watching for changes in java