实例044文件观察对象

FileSystemWatcher 类

https://docs.microsoft.com/zh-cn/dotnet/api/system.io.filesystemwatcher?view=netframework-4.8

命名空间:System.IO

程序集:System.dll

侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件。

注解

使用 FileSystemWatcher 来监视指定目录中的更改。 可以监视指定目录的文件和子目录中的更改。 你可以创建一个组件来监视本地计算机、网络驱动器或远程计算机上的文件。

若要监视所有文件中的更改,请将 Filter 属性设置为空字符串("")或使用通配符("*。*")。 若要查看特定文件,请将 Filter 属性设置为文件名。 例如,若要监视文件 MyDoc 中的更改,请将 Filter 属性设置为 "MyDoc"。 还可以监视特定类型的文件中的更改。 例如,若要监视文本文件中的更改,请将 Filter 属性设置为 "*.txt"。

事件

 
Changed

当更改指定 Path 中的文件和目录时发生。

Created

当在指定 Path 中创建文件和目录时发生。

Deleted

删除指定 Path 中的文件或目录时发生。

Disposed

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component)
Error

当 FileSystemWatcher 的实例无法继续监视更改或内部缓冲区溢出时发生。

Renamed

重命名指定 Path 中的文件或目录时发生。

属性

 
EnableRaisingEvents

获取或设置一个值,该值指示是否启用此组件。

Filter

获取或设置用于确定在目录中监视哪些文件的筛选器字符串。

IncludeSubdirectories

获取或设置一个值,该值指示是否应监视指定路径中的子目录。

NotifyFilter

获取或设置要监视的更改的类型。

Path

获取或设置要监视的目录的路径。

Module Module1
    Dim WithEvents FWatcher As New IO.FileSystemWatcher
    Dim flag As Boolean = True
    Sub Main()
        testFileSystemWatcher()
    End Sub
    Private Sub testFileSystemWatcher()
        FWatcher.Path = "f:\test\"
        FWatcher.Filter = "*.*"
        FWatcher.IncludeSubdirectories = True
        FWatcher.NotifyFilter = IO.NotifyFilters.LastWrite
        FWatcher.EnableRaisingEvents = True
        While flag
        End While
    End Sub

    Public Sub FWatcher_Change(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FWatcher.Changed, FWatcher.Created, FWatcher.Deleted
        MsgBox(e.FullPath & e.Name & e.ChangeType)
        'flag = False
    End Sub

End Module
    本例创建了一个文件系统观察对象FWatcher,通过这个对象的属性设置,确定该对象监测目录F:\test。监测范围包括子目录。监测活动为改写,监测文件类型为任意文件类型。本例定义了一个事件处理程序,三个句柄。但是,由于FWatcher属性设置中,NotifyFilter设置为监测上一次写入。因此,只对写入事件进行监测,而不会监测文件或目录的创建。本例代码运行时,当手动
在F:\test目录中创建一个TXT文件后,将弹出一个消息框。

发布了146 篇原创文章 · 获赞 0 · 访问量 2721

猜你喜欢

转载自blog.csdn.net/ngbshzhn/article/details/105635587
044
今日推荐