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

 

 

 

 

目录
相关文章
|
2月前
|
监控 Linux 测试技术
【实战技巧】使用inotify实现实时文件监控
`inotify`是Linux内核提供的文件系统监控机制,用于实时捕获文件和目录的创建、删除、移动和修改等事件。通过`inotify_init`初始化,`inotify_add_watch`添加监视点,如`. IN_ACCESS`, `. IN_MODIFY`等,及`inotify_rm_watch`移除监视。示例代码展示了监听指定路径下文件修改事件,当事件发生时打印信息。使用`inotify`能高效地构建实时应用,如文件同步和日志监控,简化系统编程。
609 8
|
9月前
|
监控 安全 API
7.6 Windows驱动开发:内核监控FileObject文件回调
本篇文章与上一篇文章`《内核注册并监控对象回调》`所使用的方式是一样的都是使用`ObRegisterCallbacks`注册回调事件,只不过上一篇博文中`LyShark`将回调结构体`OB_OPERATION_REGISTRATION`中的`ObjectType`填充为了`PsProcessType`和`PsThreadType`格式从而实现监控进程与线程,本章我们需要将该结构填充为`IoFileObjectType`以此来实现对文件的监控,文件过滤驱动不仅仅可以用来监控文件的打开,还可以用它实现对文件的保护,一旦驱动加载则文件是不可被删除和改动的。
47 1
7.6 Windows驱动开发:内核监控FileObject文件回调
|
11月前
|
缓存
|
Shell 数据库 Android开发
Magisk模块:Zygisk -HSgarb(拦截创建垃圾文件。)
Magisk模块:Zygisk -HSgarb(拦截创建垃圾文件。)
611 0
|
监控 C#
C#编程-123:文件监控之FileSystemWatcher控件
C#编程-123:文件监控之FileSystemWatcher控件
111 0
C#编程-123:文件监控之FileSystemWatcher控件
|
监控 Android开发
android应用流量监控
https://github.com/JasmineBen/NetworkMonitor 通过NetworkStatsManager和悬浮框技术,实现了一个应用流量监控的APP,通过输入应用包名可以实时检测应用的流量使用情况,从而帮助用户排查应用的网络问题。
3180 0