![](/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.