2011-11-24 3 views
2

주 이동합니다 WatchService에서 해당 이벤트와 DELETE/INSERT를 교체 ... Java7에서 WatchService 클래스에 대한WatchService/dectect은 이름을 바꾸고 또는

하나 개 더 질문을. 디렉토리/파일의 이름 변경 (심지어 이동까지)을 어떻게 안정적으로 감지 할 수 있습니까? 좀 더 철저하게 생각하면 이름 변경을 감지하는 것이 매우 어려워 보일 것입니다. 또는 더 정확하게 말하면 많은 국가가 추적 할 수 있습니다. 필자는 동일한 파일/디렉토리 식별자의 INSERT/DELETE 또는 DELETE/INSERT 쌍을 검사하는 것으로는 충분하지 않다고 생각합니다. 나는 그것이 단지 하나의 사건을 추적하는 것으로는 충분하지 않다고 생각한다. 다른 DELETE 또는 INSERT 파일을 방해 할 수 있습니다. 따라서 생각할 수있는 것은 고유 한 식별자를 추적하고 다른 이벤트 나 DELETE/INSERT를 방해 할 수있는 INSERT 및 후속 DELETE를 감시하는 정말 추악한 경험적 방법입니다. 따라서 나는 어떤 종류의 타임 아웃이 필요하고 만료 된 후에는 추적 된 모든 변경 사항을 삽입/삭제한다고 생각합니다. 확실히 오류가 발생하기 쉽거나 이름 변경을 탐지하기위한 최선의 노력 :-(Linux 및 Windows (RENAME 이벤트)에서 관련 정보를 얻을 수 있다고 생각하지만 현재 JNI를 사용하지는 않습니다. WatchService (나는했습니다 며칠 보낼 경우에도).

답변

-1

StandardWatchEventKinds.ENTRY_MODIFY 당신이 찾고있는 이벤트입니다.

+0

난 당신이 + A 삭제 이벤트를 만들기 얻을 이름 변경에.이 테스트를하지 않은 보장 할 수 있습니다, 수정이 아닙니다. chmod와 같은 항목에 대해서만 수정이 가능합니다 ... –

관련 문제