C# 监控指定目录的文件变化

要检查的变化,即从目录中删除目录或文件或文件夹、或者添加到一个新的文件或文件夹到一个目录下,我们必须使用FileSystemWatcher类。这个类允许我们通过程序来监控目录的变化。 
创建一个新的FileSystemWatcher对象,Path属性指定的目录,并注册创建和删除事件。 
并打开EnableRaisingEvents属性设置为true。

FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"c:\mydir";
// Register for events
watcher.Created += new FileSystemEventHandler(watcher_Changed);
watcher.Deleted += new FileSystemEventHandler(watcher_Changed);
// Start Watching
watcher.EnableRaisingEvents = true;
// Event Handler
static void watcher_Changed(object sender,FileSystemEventArgs e)
{
Console.WriteLine("Directory changed({0}): 小贝",
e.ChangeType,
e.FullPath);
}
时间: 2024-10-10 13:41:49

C# 监控指定目录的文件变化的相关文章

Window Linux下实现指定目录内文件变更的监控方法

转自:http://qbaok.blog.163.com/blog/static/10129265201112302014782/ 对于监控指定目录内文件变更,window 系统提供了两个未公开API:SHChangeNotifyRegister  SHChangeNotifyDeregister 分别用于注册Notify以及监视. 同时,还提供了ReadDirectoryChangesW  函数(貌似NT以上可用). 在 .net framework 中,另提供了封装好的 FileSystem

使用WatchService监控指定目录内的文件的改动

package coin; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Path; import java.nio.file.StandardWatchEventKinds; import java.nio.file.WatchEvent; import java.nio.file.WatchKey; import java.nio.file.WatchService; /*

[Erlang_Question27]如何监控指定目录下的*.beam文件,如果有改动就更新到指定的节点?

在Erlang In Anger第二章中讲到使用rebar来创建一个Erlang项目(Application或Project) 但美中不足的只是给出了指引,但没有给出详细的步骤. 下面我们就使用rebar一步步来创建一个典型的Application. 但在此之前,最好先理解下Erlang In Anger中第二章节所讲关于application结构的部分:http://zhongwencool.gitbooks.io/erlang_in_anger/ 通过本小节,你可以了解使用rebar加入开源

python多线程监控指定目录

import win32file import tempfile import threading import win32con import os dirs=["C:\\WINDOWS\\TEMP",tempfile.gettempdir()] def start_monitor(path_to_watch): h_directory = win32file.CreateFile(path_to_watch, win32con.GENERIC_READ , win32con.FIL

IO流中在指定目录找文件,以及递归

1.0 指定目录找文件 public class ListAllTest { public static void main(String[] args) { File dir = new File("E:\\Java"); listAll(dir, 0);         } public static void listAll(File dir, int level) { File[] files = dir.listFiles(); System.out.println(GetL

[php] PHP创建指定目录和文件

前几天看到有人问PHP环境下如何创建文件到指定目录下,正好自己最近在学习,经过一翻测试,终于出结果了,贴出来与大家分享. 目录结构:代码所在的文件wwwroot/mydir/test/test.php 创建目录:在wwwroot/mydir/下创建目录testjiang123. 创建文件:在wwwroot/mydir/testjiang123/下创建文件test.html. //创建文件夹 $username="testjiang123"; $dir="../mydir/&q

linux下自动ftp到服务器对比拷贝指定目录下文件

#!/bin/bash process=8 PWD=`pwd` DAT=`date` ftpip="192.168.1.1" user="ftp_username" password="ftp_password" local_dir="/home/" getlist() { ftp -n $ftpip <<EOF |awk '{print $9}'|sed '/^$/d' >$PWD/list user $u

用svn下载github中指定目录的文件

1.先用命令看看github的分支 svn ls https://github.com/BlueRiverInteractive/robovm-ios-bindings 输出: branches/ trunk/ 或者使用UI操作,浏览目录(一般在库下面都有两个目录:branches,trunk) 打开trunk目录下面就可以看到这个库下面的目录和文件了 然后: svn ls https://github.com/BlueRiverInteractive/robovm-ios-bindings/t

rsync 排除指定目录或文件进行同步

很常见的情况:我想同步/myweb下的 一些php文件 ,  但是不想复制/myweb/log/里边的一些日志文件,因为这些文件太大了,备份也是没有意义的. 现在如果想避开某个路径  直接添加—exclude 即可 比如—exclude “./log” –exclude ‘./log/file’ Note: the directory path is relative to the folder you are backing up. rsync备份时排除指定目录或文件 要排除指定目录,可以在客