我无法理解FileSystemWatcher应该如何工作。我试图让我的代码等待文件存在,然后调用另一个函数。我的代码如下:
string path2 = @" N:\ reuther \ TimeCheck \ cavmsbayss.log&#34 ;;
FileSystemWatcher fw = new FileSystemWatcher(path2);
fw.Created += fileSystemWatcher_Created;
然后我有一个单独的函数,一旦调用它的事件就应该处理该文件:
static void fileSystemWatcher_Created(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Ok im here now");
}
但是
目录名N:\ reuther \ TimeCheck \ cavmsbayss.log无效。
答案 0 :(得分:3)
根据docs,path
参数表示:
要以标准或通用命名约定(UNC)表示法监视的目录。
将路径传递给目录,而不是特定文件:
string pathToMonitor = @"N:\reuther\TimeCheck";
FileSystemWatcher fw = new FileSystemWatcher(pathToMonitor);
fw.EnableRaisingEvents = true; // the default is false, you may have to set this too
fw.Created += fileSystemWatcher_Created;
然后使用FileSystemEventArgs
类中的Name
或FullPath
属性注意创建该文件:
static void fileSystemWatcher_Created(object sender, FileSystemEventArgs e)
{
if (e.Name == "cavmsbayss.log")
{
MessageBox.Show("Ok im here now");
}
}