WatchEvent — 감시 이벤트

WatchEvent — 감시 이벤트

WatchService에 등록된 객체에 대한 이벤트 또는 반복된 이벤트를 나타내는 인터페이스예요. 이벤트는 그 종류(kind)로 분류되고, 이벤트가 관찰된 횟수를 나타내는 카운트를 가져요. 이를 통해 반복 이벤트를 효율적으로 표현할 수 있어요.

출처: Java API Reference

본문

context 메서드는 이벤트와 연관된 컨텍스트를 반환해요. 반복 이벤트의 경우 컨텍스트는 모든 이벤트에서 동일해요. 감시 이벤트는 불변(immutable)이며 여러 동시 스레드가 사용하기에 안전해요.

  • WatchEvent.Kind<T> kind() — 이벤트의 종류를 반환해요.
  • int count() — 이벤트가 관찰된 횟수를 반환해요. 이벤트가 반복될 때 1보다 클 수 있어요.
  • T context() — 이벤트와 연관된 컨텍스트를 반환해요. 예를 들어 ENTRY_CREATE 같은 항목 이벤트에 대한 항목의 파일 이름(Path)이 반환될 수 있어요.
for (WatchEvent<?> event : key.pollEvents()) {{
    WatchEvent.Kind<?> kind = event.kind();
    Path name = (Path) event.context();  // 변경된 파일 이름
}}

더 알아보기 (Learn more)