利用windows系统自带的API检测文件的修改/删除/新建/重命名

这个接口是比较好用的,不需要第三方的dll,只需要system.IO引入了就可以使用了

修改/删除/新建/重命名这几种对文件的操作都能够被监测到

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Configuration;

namespace ReadExcel.Common
{
    class FileWatcher
    {
        public void Watcher()
        {

            FileSystemWatcher watcher = new FileSystemWatcher();

            watcher.Path = ConfigurationManager.AppSetting("Detach");

            watcher.NotifyFilter = NotifyFilters.LastAccess
                                 | NotifyFilters.LastWrite
                                 | NotifyFilters.FileName
                                 | NotifyFilters.DirectoryName;

            watcher.Filter = "*";

            // Add event handlers.
            watcher.Changed += new FileSystemEventHandler(this.OnChanged);
            watcher.Created += new FileSystemEventHandler(this.OnChanged);
            watcher.Deleted += new FileSystemEventHandler(this.OnChanged);
            watcher.Renamed += new RenamedEventHandler(this.OnRenamed);

            // Begin watching.
            watcher.EnableRaisingEvents = true;

        }
        private void OnChanged(object source, FileSystemEventArgs e) =>
            Console.WriteLine($"File: {e.FullPath} {e.ChangeType}");

        private void OnRenamed(object source, RenamedEventArgs e) =>
            Console.WriteLine($"File: {e.OldFullPath} renamed to {e.FullPath}");
    }


}

 

posted @ 2020-12-26 22:09  饮雪俊枫  阅读(864)  评论(0编辑  收藏  举报