> 백엔드 개발 > C++ > C#에서 파일 시스템 변경 사항을 어떻게 모니터링할 수 있나요?

C#에서 파일 시스템 변경 사항을 어떻게 모니터링할 수 있나요?

Susan Sarandon
풀어 주다: 2025-01-13 06:19:42
원래의
872명이 탐색했습니다.

How Can I Monitor File System Changes in C#?

FileSystemWatcher를 사용하여 C#의 파일 시스템 변경 사항 모니터링

C#에서는 FileSystemWatcher 클래스를 사용하여 디스크의 파일이 수정될 때 알림을 편리하게 받을 수 있습니다.

구현 방법:

FileSystemWatcher 클래스는 파일 시스템의 변경 사항을 모니터링하는 이벤트 기반 메커니즘을 제공합니다. 이 기능을 사용하려면 FileSystemWatcher 인스턴스를 생성하고, 모니터링할 경로를 지정하고, 필요한 알림 필터를 구성하세요.

코드 예:

<code class="language-csharp">public void CreateFileWatcher(string path)
{
    // 创建并配置 FileSystemWatcher
    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = path;
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
    watcher.Filter = "*.txt";

    // 为各种更改类型添加事件处理程序
    watcher.Changed += OnChanged;
    watcher.Created += OnCreated;
    watcher.Deleted += OnDeleted;
    watcher.Renamed += OnRenamed;

    // 启动监视器
    watcher.EnableRaisingEvents = true;
}</code>
로그인 후 복사

이벤트 핸들러:

FileSystemWatcher 클래스는 각 유형의 파일 시스템 변경에 대한 특정 이벤트 핸들러를 제공합니다. 이러한 이벤트 핸들러를 사용하면 파일이 변경, 생성, 삭제되거나 이름이 바뀔 때 수행할 작업을 정의할 수 있습니다.

예를 들어 OnChanged 이벤트 핸들러는 파일이 수정될 때 변경 사항 기록과 같은 특정 작업을 수행할 수 있습니다.

이벤트 처리 예시:

<code class="language-csharp">private static void OnChanged(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}

private static void OnCreated(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File Created: " + e.FullPath);
}

private static void OnDeleted(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File Deleted: " + e.FullPath);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    Console.WriteLine("File Renamed: " + e.OldFullPath + " to " + e.FullPath);
}</code>
로그인 후 복사

FileSystemWatcher 클래스를 사용하면 파일 시스템의 변경 사항을 효과적으로 모니터링하고 감지된 변경 사항에 따라 적절한 조치를 취할 수 있습니다.

위 내용은 C#에서 파일 시스템 변경 사항을 어떻게 모니터링할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿