当前位置: 首页 > 知识库问答 >
问题:

FileSystemWatcher-已更改只读属性的事件

闾丘冠玉
2023-03-14

当被监控目录中的文件的ReadOnly属性更改时,FileSystemMonitor似乎没有触发“更改”事件(没有其他事件)。

这是我的测试代码

    using System;
    using System.IO;

    namespace FSM
    {
        class Program
        {
            static FileSystemWatcher FolderMonitor;


            static void Main(string[] args)
            {
            FolderMonitor = new FileSystemWatcher("C:\\MyImages");
            FolderMonitor.IncludeSubdirectories = false;
            FolderMonitor.Changed += FolderMonitor_Changed; ;
            FolderMonitor.EnableRaisingEvents = true;

            Console.WriteLine("Hit any key to terminate .....");
            Console.ReadKey(true);
        }


        private static void FolderMonitor_Changed(object sender, FileSystemEventArgs e)
        {
            Console.WriteLine("****  \"" + e.Name + "\" changed.");
        }
    }

使用该代码,我接收到很多“更改”事件,例如,如果修改时间戳已更改,但如果我更改任何标准属性(如ReadOnly或Hidden),则不会。

我错过了什么,还是我击中了一个“特征”?

共有1个答案

艾茂学
2023-03-14

您需要设置NotifyFilter属性,因为这将确定监视的更改类型。请参阅FileSystemWatcher。NotifyFilter属性

例如

FolderMonitor.NotifyFilter = NotifyFilters.Attributes;
 类似资料:
  • 我正在使用Spring Data MongoDB和Spring Data Rest创建一个Rest API,它允许对我的MongoDB数据库进行GET、POST、PUT和DELETE操作,除了更新操作(PUT)之外,其他操作都很好。只有当我在请求体中发送完整的对象时,它才起作用,否则变量没有在rquest中发送它,则为NULL。有人能指导我解决这个问题吗。

  • 问题内容: 有什么方法可以在属性更改时触发事件(可能是自定义的)? 比方说,当IMG src更改或DIV的innerHtml吗? 问题答案: 注意:突变事件已从标准中删除,现已弃用。有关如何使用其替代内容的信息,请参见其他答案或文档。 您指的是DOM突变事件。浏览器对这些事件的支持较差(但正在改善)。jQuery的MutationEvents插件可能会为您提供一些帮助。

  • 问题内容: 我不知道何时属性应该是私有的,是否应该使用属性。 我最近读到,setter和getters不是pythonic,我应该使用属性装饰器。没关系。 但是,如果我有属性,那一定不能从类外部设置,而是可以读取的(只读属性)。这个属性应该是私有的吗?我所说的私有是指下划线吗?如果是,那么不使用getter怎么读?我现在知道的唯一方法是写 这样我就可以读取属性,但是我无法设置它,所以很好。 但是我

  • 我们在框架中有多个子模块,scss文件夹有多个可能的路径,例如: fW/submodule/_wwW/css/foo/bar/scss/ fW/submodule/subsubmodule/_www/css/foo/bar/fooagain/scss/ fw/submodule/views/tpl/library/libraryname/default/css/foo/bar/scss/ 等等。

  • 我试图设置一个系统,当我按下按钮时,JLabel文本会改变,但我似乎无法使其工作。我已经测试了操作监听器通过执行system.out.println(test);来工作。它工作正常,但是当试图更改JComponent文本时,它不工作。我已经搜索了答案,但没有找到任何有用的答案。 主要类别: JFrame和JPanel类: ActionListener类:

  • Firefox的Firebug有一个很好的特性,叫做“属性更改时中断”,在这里我可以标记任何对象的任何属性,它将在更改之前停止JavaScript执行。 我试图在Google Chrome中实现同样的功能,但在Chrome调试器中找不到该功能。我如何在谷歌浏览器中做到这一点?