Пример: у меня есть рабочий стол с подпапкой «Рабочий стол/подраздел».
если зарегистрирован только рабочий стол и после запуска WatchService я изменяю содержимое подпапки ... должно ли это вызывать ENTRY_MODIFY или нет? Я пробовал, и это не так. Он работает только для изменения файла в зарегистрированной папке (в данном случае на рабочем столе).
Просто задаю этот вопрос, потому что в пробном экзамене для OCPJP7 говорится, что на самом деле даже изменение подпапки, такой как «Рабочий стол / подпрограмма», например удаление файла в «Рабочий стол / подпрограмма», должно вызвать событие.
Однако, еще раз, я попробовал это, и это не работает.
Вот код:
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();
}
Заранее спасибо.