FileSystemWatcher (폴더 모니터링 기능)
FileSystemWatcher 로 지정된 폴더를 모니터링(감시) 할 수 있다.
로컬 및 네트워크 드라이브, 원격 파일까지 감시가 가능하다.
파일/폴더의 변경, 삭제, 수정 에 대해 감시가 가능하고
감시 대상(파일 폴더)에 대해 사이즈 변경, 이름 변경 등의 필터링이 가능하다
또한 특정 파일, 특정 확장자 기준으로 필터링 할수 있다.
(아래 예제는 간단하게 어느 특정 폴더에 파일이 추가된 경우 처리하는 코드입니다.)
FileSystemWatcher fsw = new ileSystemWatcher();
public FileSystemWatcherTestForm()
{
InitializeComponent();
}
private void directoryButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog fd = new FolderBrowserDialog();
if (fd.ShowDialog() == DialogResult.OK)
{
this.watchTextBox.Text = fd.SelectedPath;
}
}
private void watchFolderButton_Click(object sender, EventArgs e)
{
fsw.Path = this.watchTextBox.Text;
fsw.EnableRaisingEvents = true;
fsw.Created += Fsw_Created;
//fsw.NotifyFilter = System.IO.NotifyFilters.FileName | System.IO.NotifyFilters.DirectoryName | System.IO.NotifyFilters.Size;
//fsw.Changed += fsw_Changed;
//fsw.Deleted += fsw_Deleted;
//fsw.Renamed += fsw_Renamed;
}
/// <summary>
/// FileSystemWatcher 가 바라보는 폴더에 파일이 추가된 경우 발생되는 이벤트입니다.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Fsw_Created(object sender, FileSystemEventArgs e)
{
try
{
Invoke(new MethodInvoker(delegate ()
{
this.copyListBox.Items.Add(e.Name);
}));
}
catch (Exception ex)
{
}
}
출처: http://kjcoder.tistory.com/606?category=762633 [kjun.kr]
'Program > C#' 카테고리의 다른 글
VisualStudio installer Uninstall 추가하기 (0) | 2020.05.10 |
---|---|
특수문자 제거 정규식 (0) | 2018.06.21 |
크로스 스레드 문제 해결....CheckForIllegalCrossThreadCalls!! (0) | 2018.06.11 |
MDI 자식폼 만들기 & 지우기 [출처] C# MDI 자식폼 만들기 & 지우기|작성자 Beautiful Kim (0) | 2018.03.12 |
서비스 응용 프로그램 만들기 (0) | 2018.01.23 |