监控文件更改的小demo

发布时间 2023-04-01 16:45:29作者: JohnYang819

public class Program
{
    private static FileSystemWatcher s_watcher;
    public static void WatchFiles(string path, string filter)
    {
        s_watcher = new FileSystemWatcher(path, filter) { IncludeSubdirectories = true };
        s_watcher.Created += OnFileChanged;
        s_watcher.Changed += OnFileChanged;
        s_watcher.Deleted += OnFileChanged;
        s_watcher.Renamed += OnFileRenamed;
        s_watcher.EnableRaisingEvents = true;
        Console.WriteLine("Watching File changes ....");
    }

    private static void OnFileRenamed(object sender, RenamedEventArgs e)
    {
        Console.WriteLine($"file {e.OldName} to {e.Name}");
    }

    private static void OnFileChanged(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine($"file {e.Name} {e.ChangeType}");
    }

    public static void Main()
    {
        WatchFiles(@"C:\Users\PC\Desktop\新建文件夹 (2)","*.*");
        Console.ReadLine();
    }
}