利用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}");
    }


}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM