我有一个简单的C# 控制台应用程序,我在其中使用FileSystemWatcher并在创建文件时将文件从一个目标移动到另一个目标。我的代码如下所示:
public static void WatchForFiles()
{
FileSystemWatcher watcher = new FileSystemWatcher();
//folder path is path to folder
watcher.Path = folderPath;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
//Add event handlers
watcher.Created += new FileSystemEventHandler(File_OnChanged);
//Begin watching
watcher.EnableRaisingEvents = true;
}
public static void File_OnChanged(object sender, FileSystemEventArgs e)
{
//destiantion path is path to folder
string destiantionFileFullPath = destianationPath + e.Name;
if (!File.Exists(destiantionFileFullPath))
{
File.Move(e.FullPath, destiantionFileFullPath);
}
}
当我第一次复制文件时,它会正常移动。但在那之后,或者如果我复制两个或更多文件,我的控制台窗口会自动关闭。我想我应该使用IAsyncResult但我不知道如何。我尝试了任务,但没有帮助。首先复制文件然后删除也没有帮助。这是什么原因造成的,我该如何预防?提前致谢