본문 바로가기
방통대/Java

[Java] 10-4 WatchService 인터페이스

by 꿈꾸는 몽나 2024. 4. 26.
728x90

1. WatchService 인터페이스

-WatchService

: 어떤 대상을 정한 후 변화나 이벤트가 생기는 것을 감시(watch)

: 감시 대상은 Watchable 객체로, register() 메소드를 사용하여 WatchService 객체에 감시 대상으로 등록됨

: 디렉터리를 표현하는 Path 객체의 변화를 감지

*디렉터리 내의 파일 또는 서브 디렉터리의 생성, 삭제, 수정

: java.nio.file 패키지에 존재

 

-감시자의 생성

: 먼저 WatchService 객체를 생성함

*WatchService ws = FileSystems.getDefault().newWatchService();

 

 

 

2. 감시 절차

-감시 서비스를 구현하는 절차

: 감시 대상 디렉터리를 WatchService에 등록

*Path path = Paths.get("c:\\java\\temp");

*등록 시 알림을 받고자 하는 이벤트를 명시

 

: WatchService는 take() 메소드를 호출하여 감시함

*무한 루프 안에서, 이벤트가 발생할 때까지 기다림

 

: 이벤트가 발생하면, take()가 리턴하는 WatchKey 객체를 이용하여 이벤트를 처리

: WatchKey는 감시 상태, 감시 대상 디렉터리, 이벤트 정보를 가짐

*pollEvents()를 호출하여 WatchEvent 객체를 얻고 어떤 변화가 생겼는지 알 수 있음

 

 

 

 

3. WatchService 예제

728x90

'방통대 > Java' 카테고리의 다른 글

[Java] 11-1 JCF  (0) 2024.05.03
[Java] 10강. java.nio 패키지의 활용 연습 문제  (0) 2024.04.26
[Java] 10-3 FileChannel 클래스  (0) 2024.04.26
[Java] 10-2 버퍼  (2) 2024.04.26
[Java] 10-1 java.nio 패키지  (0) 2024.04.26