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

目录
相关文章
|
3月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
|
3月前
|
C#
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
62 0
|
3月前
|
C#
C#读取html文件
C#读取html文件
96 3
|
14天前
|
监控 安全 C#
使用C#如何监控选定文件夹中文件的变动情况?
使用C#如何监控选定文件夹中文件的变动情况?
64 19
|
8天前
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
18 2
|
14天前
|
文字识别 C# Python
使用C#将几个Excel文件合并去重分类
使用C#将几个Excel文件合并去重分类
16 3
|
5天前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
|
5天前
|
C#
C# 写日志文件
C# 写日志文件
11 0
|
2月前
|
C#
【C#】C#读写Excel文件
【C#】C#读写Excel文件
36 1
|
2月前
|
JavaScript 前端开发 C#
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
39 0