Примечание. Замените INSERT / DELETE соответствующими событиями из WatchService ...
Еще один вопрос относительно класса WatchService из Java7.Как я могу надежно обнаружить переименования (и, возможно, даже перемещения) каталогов / файлов?При более тщательном рассмотрении кажется, что очень трудно даже обнаружить переименования, или, точнее, оно задействует большое количество состояний для отслеживания.Я не думаю, что достаточно проверить пары INSERT / DELETE или DELETE / INSERT одного и того же идентификатора файла / каталога.Я думаю, что недостаточно отслеживать только одно событие.Это может также мешать другим УДАЛЕНИЯМ или ВСТАВКАМ файлов.Таким образом, все, что я могу придумать, - это действительно уродливая эвристика, позволяющая отслеживать уникальные идентификаторы и отслеживать ВСТАВКУ и последующее УДАЛЕНИЕ, которые могут помешать другим событиям или УДАЛИТЬ / ВСТАВИТЬ.Таким образом, я думаю, что мне понадобится какой-то тайм-аут, и после его истечения просто вставьте / удалите все отслеженные изменения.Определенно подвержен ошибкам или лучше всего обнаруживает переименования :-( Я думаю, что можно получить соответствующую информацию из Linux и Windows (событие RENAME), но в настоящее время я не собираюсь использовать JNI, поскольку я уже реализовал все сWatchService (даже если я провожу всего несколько дней).