欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#使用filesystemwatcher监视文件系统的变化

程序员文章站 2024-02-25 11:15:46
复制代码 代码如下:#region 监视文件夹的变化          ...

复制代码 代码如下:

#region 监视文件夹的变化
            filesystemwatcher watcher = new filesystemwatcher();
            watcher.path = "f:\\";
            watcher.notifyfilter =//被监控的方面
               notifyfilters.lastwrite |
               notifyfilters.filename |
               notifyfilters.directoryname;

            // 订阅一些事件,当它被触发时(.net(windows)底层触发它,我们不用管),执行我们的方法
            watcher.changed += (object source, filesystemeventargs e) =>
            {
                console.writeline("文件{0}已经被修改,修改类型{1}", e.fullpath, e.changetype.tostring());
            };
            watcher.created += (object source, filesystemeventargs e) =>
            {
                console.writeline("文件{0}被建立", e.fullpath);
            };
            watcher.deleted += (object source, filesystemeventargs e) =>
            {
                console.writeline("文件{0}已经被删除", e.fullpath);
            };
            watcher.renamed += (object source, renamedeventargs e) =>
            {
                console.writeline("文件{0}的名称已经从{1}变成了{2}", e.oldfullpath, e.oldname, e.name);
            };

            // 为true表示开启filesystemwatcher组件,反之我们的监控将不启作用
            watcher.enableraisingevents = true;
            #endregion

另外,告诉大家一个 xor异或运算的使用技巧,就是它可以在不引入第三个变量的情况下,交替两个变量的值,你的变量可以是数值,也可以是字符,如果是字符,我们需要使用它的hashcode值进行xor运算。

复制代码 代码如下:

#region xor两个变量交换
            int a = 2;
            int b = 3;
            console.writeline("a={0}", a);
            console.writeline("b={0}", b);
            a = a ^ b ^ (b = a);
            console.writeline("a={0}", a);
            console.writeline("b={0}", b);
            #endregion