zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    6位密码框js
    总结 清除浮动的四种常见方法
    JS中关于clientWidth offsetWidth scrollWidth 的区别及意义
    字符超过长度将以省略号显示
    如何改变在浏览器上选中字体的颜色
    dev gridcontrol把event事件转换成命令
    gridcontrol datatemplate trigger
    oracle数据库一些用户管理语句
    dev gridcontrol 绑定int型及日期型的列默认当值为0时显示空白及格式化日期显示方式
    c#计算datatable中某一列值的和
  • 原文地址:https://www.cnblogs.com/guodf/p/2555478.html
Copyright © 2011-2022 走看看