Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 等待将文件添加到目录的阻止方法_C#_.net_Watchservice - Fatal编程技术网

C# 等待将文件添加到目录的阻止方法

C# 等待将文件添加到目录的阻止方法,c#,.net,watchservice,C#,.net,Watchservice,我想知道如何制作这样的东西。由于Java1.7,我可以使用WatchService,但如何在C#中实现这一点呢?我想让这个方法阻塞,而不是一个普通的事件,所以它会一直等到新文件出现 while(isANewFileInDirectory(path)){ doSomeCode(); } 编辑: 它一定要阻塞吗?您可以使用Filewatcher。。。 编辑:以下是一个示例: namespace FileWatchTest { class Program {

我想知道如何制作这样的东西。由于Java1.7,我可以使用
WatchService
,但如何在C#中实现这一点呢?我想让这个方法阻塞,而不是一个普通的事件,所以它会一直等到新文件出现

while(isANewFileInDirectory(path)){
     doSomeCode();
}
编辑:


它一定要阻塞吗?您可以使用Filewatcher。。。

编辑:以下是一个示例:

namespace FileWatchTest
{
    class Program
    {
        static void Main(string[] args)
        {
            FileSystemWatcher watcher = new FileSystemWatcher(@"c:\temp");
            watcher.EnableRaisingEvents = true;
            watcher.Created += (obj, arg) => Console.WriteLine("File {0} created", arg.Name);
            watcher.Deleted += (obj, arg) => Console.WriteLine("File {0} deleted", arg.Name);
            watcher.Changed += (obj, arg) => Console.WriteLine("File {0} changed", arg.Name);

            Console.ReadLine();
        }
    }
}

将其粘贴到控制台应用程序中,您将看到更新(显然-更改要查看的文件夹的路径…)

它必须被阻止吗?您可以使用Filewatcher。。。

编辑:以下是一个示例:

namespace FileWatchTest
{
    class Program
    {
        static void Main(string[] args)
        {
            FileSystemWatcher watcher = new FileSystemWatcher(@"c:\temp");
            watcher.EnableRaisingEvents = true;
            watcher.Created += (obj, arg) => Console.WriteLine("File {0} created", arg.Name);
            watcher.Deleted += (obj, arg) => Console.WriteLine("File {0} deleted", arg.Name);
            watcher.Changed += (obj, arg) => Console.WriteLine("File {0} changed", arg.Name);

            Console.ReadLine();
        }
    }
}

将其粘贴到控制台应用程序中,您将看到更新(显然-更改要监视的文件夹的路径…)

正在查看FileSystemWatcher类。
MSDN有详细信息和示例代码

正在查找FileSystemWatcher类。
MSDN有详细信息和示例代码

检查FileSystemWatcher类:注意:它不会监视子文件夹。启动时不要使用相对文件夹。等待事件设置变量时的阻塞是清楚的,不是吗?您也没有忘记
watcher.EnableRaisingEvents=true?检查FileSystemWatcher类:注意:它不会监视子文件夹。启动时不要使用相对文件夹。等待事件设置变量时的阻塞是清楚的,不是吗?您也没有忘记
watcher.EnableRaisingEvents=true?我做得对吗。当文件被复制到那个目录时,我没有得到任何输出。请看编辑。对@“C:\”也没有反应。我做得对吗。当文件被复制到那个目录时,我没有得到任何输出。请看编辑。对@“C:\”也没有反应。我做得对吗。当文件被复制到那个目录时,我没有得到任何输出。请看编辑。我做得对吗。当文件被复制到那个目录时,我没有得到任何输出。请看编辑。