[英]C# FileSystemWatcher firing when i physically drop a file, however not when i use File.Move
手動將Excel文件拖放到本地文件夾中,其中有一個FileWatcher,它將文件轉換為新的文件結構,並將其移動到下一個具有FileWatcher的文件夾中。 問題在於,當此文件移動到下一個文件夾時,filewatcher不會觸發任何事件。 但是,如果我將其切下並實際放下,則會觸發該事件。 我正在使用File.Move將文件從folder1復制到folder2
您應該查看FileSystemWatcher來檢測文件何時移動到文件夾
實際上,如果有移動,文件系統監視程序將發送一個刪除操作(在源目錄監視程序中)和一個創建操作(在目標目錄監視程序中)。
嘗試使用重命名的事件。
另一個原因可能是緩沖區大小可能超出。
Public void WatchItBaby()
{
// ...
FileSystemWatcher watcher = new FileSystemWatcher(@"c:\temp\", "*.txt");
watcher.Created += new FileSystemEventHandler(OnChangedOrRenamed);
watcher.Renamed += new RenamedEventHandler(OnChangedOrRenamed);
watcher.EnableRaisingEvents = true;
// ...
}
private void OnChangedOrRenamed(object source, FileSystemEventArgs e)
{
// stuff
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.