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

目录
相关文章
|
7月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
|
7月前
|
C#
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
95 0
|
2月前
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
149 9
|
2月前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
42 1
|
2月前
|
安全 C# 数据安全/隐私保护
实现C#编程文件夹加锁保护
【10月更文挑战第16天】本文介绍了两种用 C# 实现文件夹保护的方法:一是通过设置文件系统权限,阻止普通用户访问;二是使用加密技术,对文件夹中的文件进行加密,防止未授权访问。提供了示例代码和使用方法,适用于不同安全需求的场景。
117 0
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
97 0
|
4月前
|
监控 安全 C#
使用C#如何监控选定文件夹中文件的变动情况?
使用C#如何监控选定文件夹中文件的变动情况?
118 19
|
4月前
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
303 2
|
4月前
|
文字识别 C# Python
使用C#将几个Excel文件合并去重分类
使用C#将几个Excel文件合并去重分类
33 3
|
4月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件