FileSystemWatcher ArgumentException

时间:2016-03-20 03:09:20

标签: c#

我无法理解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无效。

1 个答案:

答案 0 :(得分:3)

根据docspath参数表示:

  

要以标准或通用命名约定(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类中的NameFullPath属性注意创建该文件:

static void fileSystemWatcher_Created(object sender, FileSystemEventArgs e)
{
    if (e.Name == "cavmsbayss.log")
    {
        MessageBox.Show("Ok im here now");
    }
}