我正在使用Windows窗体应用程序来监视目录,并将放入其中的文件移动到另一个目录。使用FileSystemWatcher监视目录
目前它会将文件复制到另一个目录,但是当添加另一个文件时,它只会以没有错误信息结束。有时它会在第三个文件结束之前复制两个文件。
这是因为我使用Windows窗体应用程序而不是控制台应用程序?有没有办法阻止程序结束并继续观看目录?
private void watch()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
'watcher'变量因为订阅了Changed事件而保持活动状态(不收集垃圾)。 – adospace 2016-08-04 12:33:54