2

我以 2 分钟的连续计划在 Linux 机器上读取 Java 日志文件,以查找某些消息。我存储最后一个偏移量(RandomAccessFile getFilePointer)并在我检测到 LastModified 已更改时从它开始读取;这是最佳做法,甚至是正确的吗?

4

3 回答 3

4

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

于 2013-01-21T11:10:55.530 回答
2

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

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

于 2013-01-21T11:11:14.957 回答
1

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

见帖子:目录监视java中的变化

于 2013-01-21T11:11:16.873 回答