일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 도미네이션즈
- 걷기앱
- 쿠폰
- 창세기전
- 달빛조각사
- 버그
- 후쿠오카
- 피쉬아일랜드
- 샤오미
- 창세기전 모바일
- v4
- AIA Vitality
- 한국대중음악박물관
- 국립경주박물관
- 치루
- 족저근막염
- 울산박물관
- VDI
- 반구대암각화
- 워리어
- axe
- 리니지2레볼루션
- 몬스터스트라이크
- 아가시온
- 주식
- 브이포
- 2차전직
- 후기
- 스피릿위시
- AT&T
- Today
- Total
일상다반사 로그
c# FileSystemWatcher Class 본문
파일의 변경 및 생성, 삭제를 했을 때 이벤트를 확인하기 위한 일이 생겨서
이것저것 알아봤다..
사실 c#은 일적으로 필요해서 구글을 통해서 야매로 만들다보니 정식적으로 제대로 배워보지 못했다.
MSDN 링크 : https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx
System.IO.FileSystemWatcher 속함
Changed,Created,Deleted,Disposed,Renamed 등 파일이나 폴더의 변경 이벤트가 발생했을 때 사용할 수 있다.
단순하게 로그 파일을 쌓아도 파일이 변경되어서 이벤트가 발생한다.
다만 파일을 열었을 때의 이벤트가 없어서 아쉽다...이 부분이 정말 필요한데 말이다. 열고 닫고 했을 때의 이벤트...
이러면 리얼타임으로 뭔가 체크를 해야하는 로직이 필요한것 같은데 관련 자료를 더 찾아봐야겠다.
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
이런식으로 필터를 걸 수 있다.
FileSystemEventArgs 를 통하여 속성별 값을 확인할 수 있는데
ChangType에서는 Changed,Created,Deleted,Disposed,Renamed 등 대한 이벤트 여부를 확인할 수 있고
FullPath에서는 파일 및 폴더의 전체 경로를 확인할 수 있다.
Name은 파일 및 폴더의 붙여진 이름을 볼 수 있다.
IncludeSubdirectories = true or false를 통하여 하위 디렉토리를 포함하여 변경 이벤트를 받을 것인지 설정할 수 있다.
FileSystemWatcher.Filter를 통하여 전체 파일 및 폴더를 검색할지 또는 특정 문서 파일을 검색할 것인지 필터를 설정할 수 있다.
다만 여러개의 필터의 조건을 넣으려면 설정이 필요하다.
MSDN 문서상으로는 .." Use of multiple filters such as "*.txt|*.doc" is not supported. 이렇게는 지원 못한다고 한다.
방법으로는 이벤트를 받고나서 화면에 보여줄때 특정 조건을 걸어서 그 조건만 보여주게끔 하는 방법이 있는 듯하다.
역시나 구글링을 통해서 확인했지만 테스트를 해봐야겠다...
관련 자료 : https://stackoverflow.com/questions/6965184/how-to-set-filter-for-filesystemwatcher-for-multiple-file-types
'IT > C,C#' 카테고리의 다른 글
C# 마우스 이벤트 (0) | 2018.07.16 |
---|---|
DataGridView - 읽기 전용 (0) | 2017.12.04 |
Stack (0) | 2017.11.15 |
로봇C 미로찾기 (0) | 2017.11.14 |
로봇 C 터치 센서 (0) | 2017.11.13 |