У меня есть служба просмотра, наблюдающая за каталогом. После создания файлов я обрабатываю каталог и обновляю древовидную структуру.Java 7 Watch Service ENTRY_CREATE запускается до того, как файл написан
Это нормально работает на ENTRY_DELETE
, но иногда (не всегда), когда происходит WatchEvent
из ENTRY_CREATE
, файл еще не записан на диск.
Я подтвердил это, создав new File()
каталога, в котором зарегистрирована служба часов, а также путь к файлу и проверка метода exists()
, поэтому кажется, что ОС запускает событие создания до того, как файл фактически создан.
This question похоже на ту же проблему, но с точки зрения папки.
В любом случае я могу обойти это?
См [этот ответ] (http://stackoverflow.com/questions/22956262/java-watchservice-gets-informed-before-content-is-copied) - похож на тебя» страдают от одной и той же проблемы. – mindas
Он делает - я оставлю это немного, если все-таки появятся лучшие решения. –