在我的软件中,我将在我的一个文件夹中收到一个XML文件和一个PDF文件,所以我想启动一个事件来读取XML,这样我就可以管理这些文件了。
我怎样才能发现这个事件,你能不能给我一本关于事件或页面的书,也许给我一个例子。
答案 0 :(得分:5)
您想使用FileSystemWatcher。
void foo()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "C:\\temp";
watcher.Changed += watcher_Changed;
watcher.Created += watcher_Created;
watcher.Filter = "*.pdf";
}
void watcher_Created(object sender, FileSystemEventArgs e)
{
//handle created
}
void watcher_Changed(object sender, FileSystemEventArgs e)
{
//Handle changed
}
答案 1 :(得分:2)
如前所述,FileSystemWatcher
是 的方式。
Created
事件在每个创建的文件中引发一次,但一旦文件首次出现在文件夹中就会引发。如果您有一个不同的进程可以通过网络连接复制该文件,如果您在处理Created
事件时尝试访问该文件,则可能会出现异常。
另请注意,如果另一个进程正在复制您正在观看的文件夹中的文件,则Changed
事件很可能会多次被提升。使用NotifyFilter
减少引发的事件数。
答案 2 :(得分:0)
您可以使用FileSystemWatcher类来查看XML文件的该文件夹。