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 |