2013년 11월 26일 화요일

자바1.7,JAVA7,파일시스템변화모니터링, 자바7, 자바NIO, java.nio,WatchService, WatchKey,자바네트워크교육 자바7,

자바1.7,JAVA7,파일시스템변화모니터링, 자바7, 자바NIO, java.nio,WatchService, WatchKey,자바네트워크교육

자바7, JAVA1.7의 NIO를 이용하여 데몬처럼 떠있으면서 파일시스템의 파일의 변화 등을 감지할 수 있는 예제 입니다. 많은 활용 바랍니다.
by 오라클자바커뮤니티, 오엔제이실무프로그래밍교육센터
 
import java.io.*;
import java.nio.file.*;
public class FileChange
{
   public static void main(String args[]) throws IOException, InterruptedException
   {
      monitoringDir("c:\\java"); 
   }
  
   static void monitoringDir(String dir) throws IOException, InterruptedException
   {
   
       WatchService myWatchService = FileSystems.getDefault().newWatchService();
      
       //모니터링을 원하는 디렉토리 Path를 얻는다.
       Path path = Paths.get(dir); // Get the directory to be monitored      
     
      
       //모니터링 서비스를 할 path에 의해 파일로케이션을 등록
       WatchKey watchKey = path.register(myWatchService,
            StandardWatchEventKinds.ENTRY_CREATE,
            StandardWatchEventKinds.ENTRY_MODIFY,
            StandardWatchEventKinds.ENTRY_DELETE); // Register the directory
      
       //무한루프
       while(true)
       {
       //변화가 감지되는 경우 이벤트 종류와 파일명을 출력
          for (WatchEvent event : watchKey.pollEvents())
          {
             System.out.println(event.kind() + ": "+ event.context());
          }
         
         
           //* Resets this watch key.
           //* @return  {@code true} if the watch key is valid and has been reset
           //*          {@code false} if the watch key could not be reset because it is
           //*          no longer {@link #isValid valid}, 디렉토리등이 삭제되는 경우          
          if (!watchKey.reset())
          {
             break; // 디렉토리등이 삭제되는 경우
          }
       }
   }
}

[결과 c:\java 폴더의 a.java를 b.java로 수정 후]
 

[오프라인 개강예정강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]

오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(
www.onjprogramming.co.kr)

[주간]
  [12/02]안드로이드개발자과정
  [12/02]iPhone 하이브리드 앱 개발 실무과정
  [12/09][기업100%환급]Spring Framework,MyBatis,Hibernate실무프로젝트과정
  [12/16][기업100%환급]PL/SQL,ORACLE HINT,TUNING
  [12/23][기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
  [12/23][기업100%환급]SQL기초에서 Schema Object까지

[평일야간]
  [12/03]웹퍼블리싱 마스터
  [12/03]iPhone하이브리드앱개발실무과정
  [12/04]SQL초보에서실전전문가까지
  [12/05]Spring3.X, MyBatis, Hibernate실무과정
  [12/09]C#,ASP.NET마스터
  [12/09]JAVA&WEB프레임워크실무과정
  [12/12]자바초보에서안드로이드까지

[주말]
  [11/30]SQL초보에서전문가까지
  [11/30]C#,ASP.NET마스터
  [12/07]Spring3.X,MyBatis,Hibernate실무과정
  [12/14]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
  [12/14]자바초보에서안드로이드까지
  [12/14]웹퍼블리싱 마스터

댓글 없음:

댓글 쓰기