C\#에서 FileSystemWatcher 의 사용 튜 토리 얼
4695 단어 c#filesystemwatcher쓰다
System.IO 에 있 는 FileSystemWatcher 는 파일 시스템 의 변경 을 감시 하 는 데 자주 사 용 됩 니 다.파일 시스템 의 파일 이나 폴 더 가 수정 되면 해당 하 는 리 셋 이 벤트 를 자동 으로 실행 합 니 다.
FileSystem Watcher 가 어떻게 작 동 하 는 지 알 기 위해 감 시 된 폴 더 를 지정 할 수 있 습 니 다.감 시 된 폴 더 가 수정 되면 다음 과 같은 사건 이 발생 할 수 있 습 니 다.
다음은 Visual Studio 에서 파일 감 시 를 어떻게 하 는 지 알 아 보 는 콘 솔 프로그램 을 만 듭 니 다.그러나 콘 솔 을 Windows Service 로 배치 하 는 것 을 권장 합 니 다.시스템 에 상주 감 시 를 편리 하 게 하고 감 시 된 경로 가 변경 되면 자동 으로 알림 사건 을 보 냅 니 다.
할 말 은 다 했 으 니 이제 코드 를 연구 합 시다.
static void Main(string[] args)
{
string path = @"D:\IDG";
MonitorDirectory(path);
Console.ReadKey();
}
아래 코드 세 션 은 MonitorDirectory 방법의 내부 논 리 를 보 여 줍 니 다.이 방법 은 지정 한 폴 더 를 감시 하고 폴 더 가 변경 되 었 을 때 이 벤트 를 촉발 할 수 있 습 니 다.폴 더 경 로 는 매개 변 수 를 통 해 전 달 된 것 을 볼 수 있 습 니 다.
private static void MonitorDirectory(string path)
{
FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();
fileSystemWatcher.Path = path;
fileSystemWatcher.Created += FileSystemWatcher_Created;
fileSystemWatcher.Renamed += FileSystemWatcher_Renamed;
fileSystemWatcher.Deleted += FileSystemWatcher_Deleted;
fileSystemWatcher.EnableRaisingEvents = true;
}
위의 이벤트 가 어떻게 들 어 갔 는 지 에 중심 을 두 고 알 아 볼 수 있 습 니 다.그리고 저 는 fileSystem Watcher.EnableRaising Events=true 라 고 썼 습 니 다.이것 은 무슨 뜻 입 니까?현재 경로 가 본 격 적 으로 모니터링 되 기 시 작 했 음 을 표시 합 니 다.모니터링 경로 가 변경 되면 FileSystemWatcher 에서 지정 한 이벤트 가 실 행 됩 니 다.위 에서 정의 한 이벤트 이 벤트 를 훑 어보 고 각각 이 이벤트 의 처리 함 수 를 정의 합 니 다.예 를 들 어 FileSystemWatcherCreated,FileSystemWatcher_Renamed,FileSystemWatcher_deleted,어떤 이 벤트 를 터치 하면 이벤트 처리 함 수 를 터치 합 니 다.그 렇 죠?구체 적 인 코드 는 다음 과 같 습 니 다.
private static void FileSystemWatcher_Created(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File created: {0}", e.Name);
}
private static void FileSystemWatcher_Renamed(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File renamed: {0}", e.Name);
}
private static void FileSystemWatcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File deleted: {0}", e.Name);
}
다음은 참고 할 수 있 는 완전한 코드 목록 입 니 다.
using System;
using System.IO;
namespace IDGFileSystemWatcher
{
class Program
{
static void Main(string[] args)
{
string path = @"D:\IDG";
MonitorDirectory(path);
Console.ReadKey();
}
private static void MonitorDirectory(string path)
{
FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();
fileSystemWatcher.Path = path;
fileSystemWatcher.Created += FileSystemWatcher_Created;
fileSystemWatcher.Renamed += FileSystemWatcher_Renamed;
fileSystemWatcher.Deleted += FileSystemWatcher_Deleted;
fileSystemWatcher.EnableRaisingEvents = true;
}
private static void FileSystemWatcher_Created(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File created: {0}", e.Name);
}
private static void FileSystemWatcher_Renamed(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File renamed: {0}", e.Name);
}
private static void FileSystemWatcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File deleted: {0}", e.Name);
}
}
}
IDG 폴 더 가 E 디스크 에 있다 고 가정 하고 콘 솔 을 실행 한 다음 IDG 폴 더 에 새 파일 을 만 듭 니 다.의외 의 사고 가 발생 하지 않 으 면 이 새 파일 이름 이 콘 솔 에 나타 나 는 것 을 관찰 할 수 있 습 니 다.이 는 FileSystem Watcher 를 설명 합 니 다.Created 가 성공 적 으로 촉발 되 었 습 니 다.다음 그림 을 참고 하 십시오:링크
C\#중 FileSystemWatcher 사용 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C\#FileSystemWatcher 사용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.