조회 수 12621 댓글 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
번호 분류 제목 날짜 조회 수 추천 수
296 Android 킷캣에서 바뀐 점 정리 2014.01.26 12211 0
295 일반 7zip(7z.exe) 간단 사용법 2016.04.08 12266 0
294 개념 OMA DRM에서 DCF 란? 2013.01.22 12307 0
293 LINUX Ubuntu에서 Python 버전을 변경하는 방법 2019.03.29 12347 0
292 C# SmtpClient로 메일 보내기 - gmail 2013.01.18 12351 0
291 일반 마크다운 markdown (.md) 파일이란 2017.07.12 12438 0
290 PHP php 배열 사용하기 2015.10.28 12489 0
289 C# INI 파일 대신에 XML 로 설정값 저장/유지 하기 2014.04.03 12505 0
288 개념 QCELP, EVRC 2012.12.05 12506 0
287 Android 안드로이드에 우분투 설치하기 3 2014.05.09 12539 0
286 Python Lambda 함수, 축약 함수 2014.04.25 12595 0
285 C# C#에서 명령줄 인수(command line argument) 사용하기 2016.01.04 12613 0
» C# 변경된 파일을 감시하는 루틴 2013.10.30 12621 0
283 PHP MySQL 기본 문법 2014.03.01 12622 0
282 C# C# 배열 array 2014.10.22 12641 0
목록
Board Pagination ‹ Prev 1 ... 10 11 12 13 14 15 16 17 18 19 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


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

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

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5