조회 수 12756 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

System.IO.FileSystemWatcher를 사용하면 됨

 

[예제 1]

 

public static Watch() 
{
    var watch = new FileSystemWatcher();
    watch.Path = @"D:\tmp";
    watch.Filter = "file.txt";
    watch.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite; //more options
    watch.Changed += new FileSystemEventHandler(OnChanged);
    watch.EnableRaisingEvents = true;
}

/// Functions:
private static void OnChanged(object source, FileSystemEventArgs e)
{
    if(e.FullPath == @"D:\tmp\file.txt")
    {
        // do stuff
    }
}

 

 

[예제 2]

 

FileSystemWatcher fs = new FileSystemWatcher();//개체 생성
fs.Path = "Test"; //Test 폴더 감시
fs.NotifyFilter = NotifyFilters.FileName|NotifyFilters.DirectoryName; //파일 이름과 폴더 이름 감시
fs.Filter = ""; //특정 파일 감시 ex)*.exe,(모두 감시"", *.*)
fs.Created += new FileSystemEventHandler(fs_Created); //조건에 해당하는 파일 및 폴더의 생성 이벤트 등록
fs.Deleted+=new FileSystemEventHandler(fs_Deleted); //조건에 해당하는 파일 및 폴더의 삭제 이벤트 등록
fs.EnableRaisingEvents = true; //이벤트 활성화

testeventhandler += new mydele(Form1_testeventhandler);

 

 [예제 3]


다음 예제에서는 런타임에 지정된 디렉터리를 조사하는 FileSystemWatcher를 만듭니다. 구성 요소는 디렉터리에 있는 텍스트 파일의 LastWriteLastAccess 시간 변경, 작성, 삭제 또는 이름 변경을 조사하도록 설정됩니다. 파일이 변경, 작성 또는 삭제되면 해당 파일의 경로가 콘솔에 출력됩니다. 파일 이름이 변경되면 콘솔에 이전 경로와 새 경로가 출력됩니다.


public class Watcher
{

    public static void Main()
    {
	Run();

    }

    [PermissionSet(SecurityAction.Demand, Name="FullTrust")]
    public static void Run()
    {
        string[] args = System.Environment.GetCommandLineArgs();
 
        // If a directory is not specified, exit program.
        if(args.Length != 2)
        {
            // Display the proper way to call the program.
            Console.WriteLine("Usage: Watcher.exe (directory)");
            return;
        }

        // Create a new FileSystemWatcher and set its properties.
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Path = args[1];
        /* Watch for changes in LastAccess and LastWrite times, and 
           the renaming of files or directories. */
        watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite 
           | NotifyFilters.FileName | NotifyFilters.DirectoryName;
        // Only watch text files.
        watcher.Filter = "*.txt";

        // Add event handlers.
        watcher.Changed += new FileSystemEventHandler(OnChanged);
        watcher.Created += new FileSystemEventHandler(OnChanged);
        watcher.Deleted += new FileSystemEventHandler(OnChanged);
        watcher.Renamed += new RenamedEventHandler(OnRenamed);

        // Begin watching.
        watcher.EnableRaisingEvents = true;

        // Wait for the user to quit the program.
        Console.WriteLine("Press \'q\' to quit the sample.");
        while(Console.Read()!='q');
    }

    // Define the event handlers.
    private static void OnChanged(object source, FileSystemEventArgs e)
    {
        // Specify what is done when a file is changed, created, or deleted.
       Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
    }

    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        // Specify what is done when a file is renamed.
        Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
    }
}




Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
236 C# [C#] (System.Collections.Generic) ArrayList 2012.05.23 15550 0
235 MFC dumpbin 으로 파일 실행정보 보기 2012.12.03 15618 0
234 일반 CSS 참고 사이트 2012.06.05 15622 0
233 개념 CMLA (Content Management Licensing Administrator) DRM 2012.03.30 15670 0
232 일반 디버깅용 string 프로그램 소스 2012.02.06 15688 0
231 일반 정규식 요약 2013.01.23 15694 0
230 Pi SPI란? (Serial Peripheral Interface) 2017.04.20 15856 0
229 Android 카톡 SDK 의 안드로이드 기기 unique ID 얻기 방법 2015.01.02 15913 0
228 C# Hashtable 정렬하기 2012.12.11 16003 0
227 일반 HTML 도움말 및 테스트하는 사이트 2013.09.09 16069 0
226 Pi 커패시터 용량, 오차 및 정격전압 판별법 (Capacitor Code) file 2016.11.21 16085 0
225 LINUX 사용자 계정 목록 보기 2013.04.22 16180 0
224 MFC [Collection] CArray Class 사용법 2017.01.25 16209 0
223 Android Git 사용자 설명서 2012.04.24 16221 0
222 개념 AAC, MPEG Advanced Audio Coding file 2012.11.22 16228 0
목록
Board Pagination ‹ Prev 1 ... 14 15 16 17 18 19 20 21 22 23 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5