C#-FileSystemWatcher文件和文件夹监控

简介: FileSystemWatcher这个类用于当目录或目录中的文件发生更改时,侦听文件系统更改通知并引发事件

简介

FileSystemWatcher这个类用于当目录或目录中的文件发生更改时,侦听文件系统更改通知并引发事件。

使用场景

需要即时的知道文件的更改,获取第三方系统创建的文件等等。

代码实例

usingSystem;
usingSystem.Collections.Generic;
usingSystem.IO;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespacefilewatcher{
classProgram    {
staticvoidMain(string[] args)
        {
FileSystemWatcherfsw=newFileSystemWatcher();
//获取应用程序的路劲,监听的文件夹路径fsw.Path=System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
//获取或设置要监视的更改类型//LastAccess 最后读的日期//LastWrite 最后写的日期//FileName 文件名//DirectoryName 目录名//Attributes 文件或者文件夹属性//size 大小//Security 安全设置fsw.NotifyFilter=NotifyFilters.LastAccess|NotifyFilters.LastWrite|NotifyFilters.FileName|NotifyFilters.DirectoryName|NotifyFilters.Attributes|NotifyFilters.Size|NotifyFilters.Security;
//文件类型,支持通配符,“*.txt”只监视文本文件fsw.Filter="";
//设置是否级联监视指定路径中的子目录fsw.IncludeSubdirectories=true;
//添加事件fsw.Changed+=OnChanged;
fsw.Created+=OnCreated;
fsw.Deleted+=OnDeleted;
fsw.Renamed+=OnRenamed;
// 开始监听fsw.EnableRaisingEvents=true;
Console.WriteLine("按q退出!");
while (Console.Read() !='q') ;
//FileSystemEventArgs//Name 受影响的文件名称//FullPath 受影响的文件或文件夹的完整路径//ChangeType 获取受影响的文件或目录的发生的事件类型voidOnChanged(objectsource, FileSystemEventArgse)
            {
Console.Write(e.Name+"文件被改变……\r\n");
            }
voidOnCreated(objectsource, FileSystemEventArgse)
            {
Console.Write(e.Name+"文件被创建……\r\n");
            }
voidOnDeleted(objectsource, FileSystemEventArgse)
            {
Console.Write(e.Name+"文件被删除……\r\n");
            }
//RenamedEventArgs//Name 获取受影响的文件或目录的新名称//OldName 获取受影响的文件或目录的旧名称//FullPath 获取受影响的文件或目录的完全限定的路径//OldFullPath 获取受影响的文件或目录的前一个完全限定的路径//ChangeType 获取受影响的文件或目录的发生的事件类型voidOnRenamed(objectsource, RenamedEventArgsr)
            {
Console.Write(r.OldName+"文件被重命名……"+r.Name+"\r\n");
            }
        }
    }
}


参考资料

https://docs.microsoft.com/en-us/dotnet/api/system.io.filesystemwatcher?redirectedfrom=MSDN&view=netframework-4.8

目录
相关文章
|
11月前
|
存储 监控 算法
电脑监控管理中的 C# 哈希表进程资源索引算法
哈希表凭借O(1)查询效率、动态增删性能及低内存开销,适配电脑监控系统对进程资源数据的实时索引需求。通过定制哈希函数与链地址法冲突解决,实现高效进程状态追踪与异常预警。
426 10
|
11月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
421 4
|
存储 机器学习/深度学习 监控
公司监控软件有哪些?监测方案:基于布隆过滤器的 C# 异常行为检测实践探索
本文探讨了布隆过滤器在公司监控软件中的技术应用,介绍其原理、优势及C#实现代码,助力企业高效构建数据安全防护体系。
337 0
|
监控 算法 安全
公司电脑监控软件关键技术探析:C# 环形缓冲区算法的理论与实践
环形缓冲区(Ring Buffer)是企业信息安全管理中电脑监控系统设计的核心数据结构,适用于高并发、高速率与短时有效的多源异构数据处理场景。其通过固定大小的连续内存空间实现闭环存储,具备内存优化、操作高效、数据时效管理和并发支持等优势。文章以C#语言为例,展示了线程安全的环形缓冲区实现,并结合URL访问记录监控应用场景,分析了其在流量削峰、关键数据保护和高性能处理中的适配性。该结构在日志捕获和事件缓冲中表现出色,对提升监控系统效能具有重要价值。
406 1
|
存储 监控 算法
基于 C# 的局域网计算机监控系统文件变更实时监测算法设计与实现研究
本文介绍了一种基于C#语言的局域网文件变更监控算法,通过事件驱动与批处理机制结合,实现高效、低负载的文件系统实时监控。核心内容涵盖监控机制选择(如事件触发机制)、数据结构设计(如监控文件列表、事件队列)及批处理优化策略。文章详细解析了C#实现的核心代码,并提出性能优化与可靠性保障措施,包括批量处理、事件过滤和异步处理等技术。最后,探讨了该算法在企业数据安全监控、文件同步备份等场景的应用潜力,以及未来向智能化扩展的方向,如文件内容分析、智能告警机制和分布式监控架构。
377 3
|
存储 监控 算法
局域网上网记录监控的 C# 基数树算法高效检索方案研究
在企业网络管理与信息安全领域,局域网上网记录监控是维护网络安全、规范网络行为的关键举措。随着企业网络数据量呈指数级增长,如何高效存储和检索上网记录数据成为亟待解决的核心问题。基数树(Trie 树)作为一种独特的数据结构,凭借其在字符串处理方面的卓越性能,为局域网上网记录监控提供了创新的解决方案。本文将深入剖析基数树算法的原理,并通过 C# 语言实现的代码示例,阐述其在局域网上网记录监控场景中的具体应用。
313 7
|
存储 监控 算法
员工电脑监控系统中的 C# 链表算法剖析-如何监控员工的电脑
当代企业管理体系中,员工电脑监控已成为一个具有重要研究价值与实践意义的关键议题。随着数字化办公模式的广泛普及,企业亟需确保员工对公司资源的合理利用,维护网络安全环境,并提升整体工作效率。有效的电脑监控手段对于企业实现这些目标具有不可忽视的作用,而这一过程离不开精妙的数据结构与算法作为技术支撑。本文旨在深入探究链表(Linked List)这一经典数据结构在员工电脑监控场景中的具体应用,并通过 C# 编程语言给出详尽的代码实现与解析。
337 5
c# 创建文件夹
在 C# 中,创建文件夹和文件依赖于 .NET 框架提供的 `System.IO` 命名空间中的类与操作系统交互。
基于 C# 编写的 Visual Studio 文件编码显示与修改扩展插件
基于 C# 编写的 Visual Studio 文件编码显示与修改扩展插件
625 9
|
存储 监控 算法
企业内网监控系统中基于哈希表的 C# 算法解析
在企业内网监控系统中,哈希表作为一种高效的数据结构,能够快速处理大量网络连接和用户操作记录,确保网络安全与效率。通过C#代码示例展示了如何使用哈希表存储和管理用户的登录时间、访问IP及操作行为等信息,实现快速的查找、插入和删除操作。哈希表的应用显著提升了系统的实时性和准确性,尽管存在哈希冲突等问题,但通过合理设计哈希函数和冲突解决策略,可以确保系统稳定运行,为企业提供有力的安全保障。