Пример: Имам моя работен плот с подпапка „Desktop/sub“
ако е регистриран само Desktop и след стартиране на WatchService променям съдържанието на подпапка.. трябва ли да задейства ENTRY_MODIFY или не? Опитах и не става. Работи само за модифициране на файл в регистрираната папка (в този случай работен плот).
Просто задавам този въпрос, защото в пробния изпит за OCPJP7 се казва, че всъщност дори модифицирането на подпапка като „Desktop/sub“, например премахване на файл в „Desktop/sub“, трябва да задейства събитието.
Обаче отново го пробвах и не работи.
Ето кода:
WatchKey key = ws.poll(5, TimeUnit.SECONDS);
if (key ==null)
{
continue;
}
List<WatchEvent<?>> lista = key.pollEvents();
for (WatchEvent<?> event : lista)
{
switch(event.kind().toString())
{
case "ENTRY_CREATE": System.out.println("There has been a creation over here: "+event.context());break;
case "ENTRY_MODIFY": System.out.println("There has been a modification over here: "+event.context());break;
case "ENTRY_DELETE": System.out.println("There has been a deletion over here: "+event.context());
}
key.reset();
}
Благодаря предварително.