![](/img/trans.png)
[英]How do I properly handle pollEvents() overflow kind in a watchservice?
[英]How to handle the JAVA WatchService Overflow event?
我想使用JAVA检测文件的创建和修改 。 我正在使用JDK 7提供的WatchService API。
因此,当在给定实例上创建多个文件时,监视服务可以处理一个级别,然后生成和OVERFLOW事件。
示例代码部分如下所示。
当有和溢出事件被抛出以检测所有文件的创建时,最适合处理这种情况的方法是什么?
for (WatchEvent<?> event : key.pollEvents()) {
WatchEvent.Kind kind = event.kind();
// TBD - provide example of how OVERFLOW event is handled
if (kind == OVERFLOW) {
System.err.println("OVERFLOW !");
continue;
}
}
希望您已经找到了解决方案。 通常的想法是处理新创建的文件并将处理过的文件移动到不同的目录。
有两种可能的方法可以解决这个问题:
防止OVERFLOW发生想法是快速清除操作系统缓冲区并使用事件信息填充队列,然后让多个线程处理队列中的事件。
如果仍然发生,请处理溢出
如果OVERFLOW仍然出现,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.