.NET中的文件监视类

本文介绍如何使用.NET的FileSystemWatcher类来监视指定目录及其子目录的文件操作,如新建、修改和删除,并通过事件委托实时通知。只需简单配置,即可实现文件变化的实时监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<转>
最近做的一个项目,涉及到对某个目录的操作的监视,其实在.NET中,使用.NET中的文件监视类,就可以轻松实现对某个目录,以及其子目录的文件监视。比如新建文件、修改文件、删除文件等操作。并且能够以事件的形式通知程序。只要我们在事件委托里面,绑定相应的处理函数即可。.NET的功能果然很强大,只需要几句简单的调用,我们就可以实现这样的监视功能了。

我们以一个例子来实现吧:

    static void Main(string[] args)
        {
            FileSystemWatcher m_Watcher=new FileSystemWatcher();
            m_Watcher.Path=@"d:\test";
            m_Watcher.IncludeSubdirectories=true;
            m_Watcher.Filter="*.*";
            m_Watcher.NotifyFilter=NotifyFilters.LastWrite | NotifyFilters.FileName;
            m_Watcher.Created+=new FileSystemEventHandler(OnChanged);
            m_Watcher.Changed+=new FileSystemEventHandler(OnChanged);
            m_Watcher.Deleted+=new FileSystemEventHandler(OnChanged);
            m_Watcher.EnableRaisingEvents=true;

            Console.WriteLine("Press \'q\' to quit the sample.");
            while(Console.Read()!='q');
        }

        private static void OnChanged(object sender, FileSystemEventArgs e)
        {
            Console.WriteLine(DateTime.Now.ToString()+" {0} {1}",e.ChangeType,e.FullPath);
        }

程序比较简单,先是生成FileSystemWatcher的实例,然后进行相应的设置。我在这里设置要监控的目录
为D:\Test,监控所有文件,也即*.*。然后通过事件,添加响应事件的函数OnChanged到Created、Changed以及Deleted事件中。这样的话,当文件被创建、修改、或者被删除的时候,就能调用我们的OnChanged函数。此函数中的FileSystemEventArgs包含了具体事件的一些信息。比如被修改的文件名、被出发的事件类型等等。通过在回调函数的判断,我们就可以实现响应的操作了。

程序运行效果如下图:

转载于:https://www.cnblogs.com/GavinCome/articles/605896.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值