• FileSystemWatcher Components


    [概述]
    只能监视设定目录下的文件及文件夹,不能监视根目录

    可以监视的事件
        Created:文件或文件夹生成
        Deleted:文件或文件夹删除
        Renamed:文件或文件夹重命名
        Changed:文件或文件夹的树型更改(大小,属性,最后读/写或安全设置变化)

    [创建]
        System.IO.FileSystemWatcher myWatcher = new System.IO.FileSystemWatcher();

    [配置]
    监视文件夹
        Path: 监视的路径(c:\directory或\\server\directory)
        IncludeSubdirectories: 是否包含子文件夹

    监视事件
        Created, Deleted, Renamed, Changed
        Filter: 监视指定的文件类型,如 *.txt;或指定的子文件夹
        NotifyFilter: 可以限定只监视某些事件的发生(可用|组合)
        EnableRaisingEvents: 是否开始监视

    [事件]
        可以处理的事件
        Created, Deleted, Renamed, Changed

    [方法]
        WaitForChanged: (在一设定的时间内)等待某个事件的发生

    [问题]
        对于应用程序产生的文件,有可能引起多个Created事件的触发
        如记事本新建文件
            应用程序级别是批处理写入文件内容和文件属性
            操作系统却是两个创建事件的发生

    [大容量系统]
        缓冲区溢出的解决方法
            设置InternalBufferSize属性
                默认为4K,相当于可以监视80个文件
                最好是4K(操作系统默认页面大小)的n倍增加缓冲区
                或者是对原先的大小成倍增加(推荐)
            设置NotifyFilter属性
            设置IncludeSubdirectories属性
  • 相关阅读:
    读书笔记--SQL必知必会21--使用游标
    读书笔记--SQL必知必会20--管理事务处理
    读书笔记--SQL必知必会19--存储过程
    读书笔记--SQL必知必会18--视图
    PopupWindow
    android shape的使用
    带删除小图标的EditText
    Android点击EditText文本框之外任何地方隐藏键盘的解决办法
    Android px、dp、sp之间相互转换
    android edittext不弹出软键盘
  • 原文地址:https://www.cnblogs.com/zygoses2gether/p/FileSystemWatcher.html
Copyright © 2020-2023  润新知