我目前正在寻找一种监视文件更改的好方法。
情况:我有一个 Teamspeak3 服务器正在运行,它会创建 .log 文件。每个启动一个。Parallely 有一个 java bot 正在运行,使用服务器查询 api。
不幸的是,如果要捕获重要事件(如服务器组分配等),teampeak 的查询 api 会受到很大限制。这些被服务器捕获并记录,但不会被触发到查询客户端。
我的想法是监视服务器的 *.log 文件,对文件更改做出反应并通过最新的文件条目解决实际事件。
我的问题是,每次注意到更改时,我都必须读入整个文件。我的意思是,这些文件很容易达到 10mb++,并且根据 ts3 服务器的“人口”,变化经常发生。
使用 java.nio.file 可以轻松监控文件(或准确地说是目录),但我如何只读取最后一行?
我现在真的想不出一种优雅的方式来处理这个问题。
感谢您的帮助和建议!
喜达