[자바데몬예제,파일시스템의변동감지,자바NIO,자바1.7,JAVA7]파일시스템의 변화감시,모니터링, 자바7, 자바NIO, java.nio,자바학원,NIO학원,JAVA교육,자바기초에서실무개발자교육추천
아래 예제는 자바7, JAVA1.7의 NIO를 이용하여 데몬처럼 떠있으면서 파일시스템의 파일의 변화 등을 감지할 수 있는 예제 입니다.
많은 활용 바랍니다.
by 오라클자바커뮤니티, 오라클자바커뮤니티실무프로그래밍교육센터
by 오라클자바커뮤니티, 오라클자바커뮤니티실무프로그래밍교육센터
import java.io.*;
import java.nio.file.*;
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());
}
{
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로 수정 후]
ENTRY_DELETE: a.java
ENTRY_CREATE: b.java
ENTRY_MODIFY: b.java
ENTRY_CREATE: b.java
ENTRY_MODIFY: b.java
오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(6/30)[기업100%환급]PL/SQL,ORACLE HINT,TUNING[개강확정]
(6/30)[기업100%환급]안드로이드개발자과정[개강확정]
(6/30)[기업100%환급]SQL기초에서 Schema Object까지[개강확정]
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정[개강확정]
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
평일야간(19:00~21:50) 개강
(6/26)SQL초보에서실전전문가까지[개강확정]
(7/01)안드로이드개발자과정[개강확정]
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말(10:00~17:50) 개강
(6/28)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(6/28)안드로이드개발자과정
(6/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지[개강확정]
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/12)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
(7/13)C#,ASP.NET마스터
주말저녁(18:30~22:20) 개강
(6/28)JAVA,Network&WEB&Framework
(6/28)SQL기초에서실무까지
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(6/30)[기업100%환급]PL/SQL,ORACLE HINT,TUNING[개강확정]
(6/30)[기업100%환급]안드로이드개발자과정[개강확정]
(6/30)[기업100%환급]SQL기초에서 Schema Object까지[개강확정]
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정[개강확정]
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
평일야간(19:00~21:50) 개강
(6/26)SQL초보에서실전전문가까지[개강확정]
(7/01)안드로이드개발자과정[개강확정]
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말(10:00~17:50) 개강
(6/28)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(6/28)안드로이드개발자과정
(6/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지[개강확정]
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/12)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
(7/13)C#,ASP.NET마스터
주말저녁(18:30~22:20) 개강
(6/28)JAVA,Network&WEB&Framework
(6/28)SQL기초에서실무까지
댓글 없음:
댓글 쓰기