• C#文件监控


    FileSystemWatcher

    常用属性:

    Path:获取或设置要监视的目录的路径

    Filter:获取或设置筛选字符串,用于确定在目录中监视哪些文件

    NotifyFilter:获取或设置要监视的更改类型。

    EnableRaisingEvents:获取或设置一个值,该值指示是否启用此组件。

    常用事件:

    OnChanged:执行Changed,Created,Deleted时引发改事件

    OnRenamed:执行重命名时引发改事件

    监控代码:(源码.rar)

      

    C#文件监控
     1 #region 监控文件
     2 public void Run()
     3 {
     4     //创建文件监控对象
     5     FileSystemWatcher watcher = new FileSystemWatcher();
     6     //设置监控目录
     7     watcher.Path = path;
     8     //定义监控类型
     9     watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
    10         | NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.CreationTime;
    11     //定义监控的文件类型
    12     watcher.Filter = "*.*";
    13 
    14     //绑定监控事件
    15     watcher.Changed += new FileSystemEventHandler(OnChanged);
    16     watcher.Created += new FileSystemEventHandler(OnChanged);
    17     watcher.Deleted += new FileSystemEventHandler(OnChanged);
    18     watcher.Renamed += new RenamedEventHandler(OnRenamed);
    19 
    20     //true表示开始监控,启用监控;false表示取消监控
    21     watcher.EnableRaisingEvents = true;
    22 }
    23 
    24 private void OnChanged(object source, FileSystemEventArgs e)
    25 {
    26             
    27     string changedInfo = string.Format("File: {0} {1}", e.FullPath, e.ChangeType);
    28     //因为UI上的线程非安全的,所以要使用Invoke
    29     this.Invoke(new Method(AddItem),changedInfo);
    30 }
    31 
    32 private void OnRenamed(object source, RenamedEventArgs e)
    33 {
    34         
    35     string changedInfo = string.Format("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
    36     //因为UI上的线程非安全的,所以要使用Invoke
    37     this.Invoke(new Method(AddItem), changedInfo);
    38 
    39 }
    40 //把监控到的信息添加到ListBox上
    41 private void AddItem(string item)
    42 {
    43     listBox1.Items.Add(item);
    44 }
    45 #endregion
  • 相关阅读:
    第四章 瓦解无意识
    C#操作Sqlite快速入门及相关工具收集(转)
    为什么要反应?你的惯性反应模式是什么?
    NPOI 1.2简介和教程目录
    jquery 得到当前页面高度和宽度
    第十一章 不勾招世界
    关于使用HtmlAgilityPack
    C# 网页图片采集
    互联网协议入门(转)
    对技术的态度(转)
  • 原文地址:https://www.cnblogs.com/guodf/p/2555478.html
Copyright © 2020-2023  润新知