조회 수 12467 댓글 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
번호 분류 제목 날짜 조회 수 추천 수
47 C# C# 자주 쓰는 코드 2012.12.10 11902 0
46 C# SmtpClient로 메일 보내기 - gmail 2013.01.18 12260 0
45 C# C#에서 명령줄 인수(command line argument) 사용하기 2016.01.04 12310 0
44 C# INI 파일 대신에 XML 로 설정값 저장/유지 하기 2014.04.03 12384 0
» C# 변경된 파일을 감시하는 루틴 2013.10.30 12467 0
42 C# C# 배열 array 2014.10.22 12511 0
41 C# 텍스트 파일에서 읽기/쓰기 2013.08.08 12835 0
40 C# ArrayList를 string[] 배열로 변환하는 방법 2015.09.23 12887 0
39 C# 트레이 아이콘 만들기 2013.08.05 13119 0
38 C# Drag & Drop으로 파일받기 구현 1 2012.11.29 14102 0
37 C# C# XML Documentation - C# 소스코드 문서화 [출처] C# XML Documentation - C# 소스코드 문서화 2013.10.01 14581 0
36 C# AutoResetEvent 클래스 - 신호(Signal)에 의한 쓰레드 동기화 2013.08.14 14697 0
35 C# TreeView의 rootnode(TreeNode)에서 하위 항목 찾기 2015.09.21 15010 0
34 C# 에디트 박스 제일 밑으로 스크롤 하기 2012.08.21 15011 0
33 C# Visual C# 에서 XP 테마 적용하기 2012.05.21 15115 0
목록
Board Pagination ‹ Prev 1 2 3 4 5 Next ›
/ 5

나눔글꼴 설치 안내


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

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

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5