我希望在文件被其他进程修改/写入时在java中逐步读取文件。因此假设进程“A”正在写入/记录文件“X”而另一个进程“B”想要逐步读取文件“X”,比如说每1秒(或甚至连续地)以找到特定模式。在java中执行此操作的最佳方法是什么?我知道我可以使用RandomAccessFile的'seek'方法,但会干扰文件的写入吗?有更好的方法吗?
答案 0 :(得分:0)
轮询修改过的文件数据。打开它进行阅读可以防止其他程序同时写入文件。
答案 1 :(得分:0)
如果您能够使用Java 7,则可以利用WatchService ...但它无法解析必须解析整个文件。
我唯一能想到的就是保持某种“标记”,表明你最后的位置。下次你来阅读文件时,你可以跳到这一点并从那里读取(完成后更新标记)