我想在文件被其他进程修改/写入时在java中增量读取文件。因此,假设进程“A”正在写入/记录文件“X”,而另一个进程“B”想要增量读取文件“X”,例如每 1 秒(甚至连续)以查找特定模式。在java中执行此操作的最佳方法是什么?我知道我可以使用 RandomAccessFile 的 'seek' 方法,但这会干扰文件的写入吗?有一个更好的方法吗?
问问题
240 次
2 回答
0
如果您能够使用 Java 7,则可以利用WatchService ...但它不能解决必须解析整个文件的问题。
我唯一能想到的就是保持某种“标记”,它会指示你最后的位置。下次您来阅读文件时,您可以跳到这一点并从那里阅读(完成后更新标记)
于 2012-08-03T22:32:25.657 回答
0
轮询文件修改的数据。打开它进行读取可以防止其他程序同时写入该文件。
于 2012-08-03T21:12:14.157 回答