C#文件监控

简介: FileSystemWatcher 常用属性: Path:获取或设置要监视的目录的路径 Filter:获取或设置筛选字符串,用于确定在目录中监视哪些文件 NotifyFilter:获取或设置要监视的更改类型。

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

 

 

 

 

目录
相关文章
|
1月前
|
安全 调度
appscan调度程序和PowerTools功能
appscan调度程序和PowerTools功能
|
4月前
|
监控 Linux 测试技术
【实战技巧】使用inotify实现实时文件监控
`inotify`是Linux内核提供的文件系统监控机制,用于实时捕获文件和目录的创建、删除、移动和修改等事件。通过`inotify_init`初始化,`inotify_add_watch`添加监视点,如`. IN_ACCESS`, `. IN_MODIFY`等,及`inotify_rm_watch`移除监视。示例代码展示了监听指定路径下文件修改事件,当事件发生时打印信息。使用`inotify`能高效地构建实时应用,如文件同步和日志监控,简化系统编程。
973 12
|
4月前
|
监控 Linux
Linux脚本之监控系统内存使用情况并给予警告
Linux脚本之监控系统内存使用情况并给予警告
|
存储 测试技术
kindle 应用程序出错,无法启动选定的应用程序,请重试。问题排查过程及处理方案。...
kindle 应用程序出错,无法启动选定的应用程序,请重试。问题排查过程及处理方案。...
519 0
|
缓存 自然语言处理 数据库
CleanMyMac X2023第三方清理工具
去年秋天,在macOS Big Sur发布之后展示了小部件和一个新的应用程序图标。今天CleanMyMac X推出了M1芯片的原生支持,并获得了全新的外观。CleanMyMac X我们对引擎进行了重要更改,以优化M1应用。现在,CleanMyMac X可以在最新的Mac型号顺畅运行,使您在新的Mac上更具生产力。
158 0
|
运维 监控
WGCLOUD运维监控方案 - 如何设置主机10分钟内恢复正常就不进行提醒
这个,我们只要把agent上报时间改成10分钟就好了
|
监控 C#
C#编程-123:文件监控之FileSystemWatcher控件
C#编程-123:文件监控之FileSystemWatcher控件
119 0
C#编程-123:文件监控之FileSystemWatcher控件
|
监控 网络协议 安全
VoIP系统故障排除:7个常见问题处理方法
VoIP呼叫已成为世界各地公司的主要通信方式。事实上,2020年美国的VoIP服务市场规模约为71亿美元。
|
监控 Java Shell
Android测试日志文件抓取与分析
1.log文件分类简介 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有:adb shell cat /proc/kmsg ,adb shell dmesg,adb shell du...
2723 0