簡體   English   中英

刪除文件后,FileWatcher觸發更改事件

[英]FileWatcher fires change event after file deletion

將文件添加到文件夾后,我正在使用FileWatcher觸發文件處理。 處理完文件后,將其刪除。

我的問題是,在刪除文件后,我收到另一個文件更改事件,該事件與刪除非常接近,因此在某些情況下不檢查File.Exists會表明該文件仍然存在。 但是,當然,在幾毫秒之后,當您尋求處理文件時,它實際上並不存在。 FileWatcher設置為通知NotifyFilters.FileName | NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.Size | NotifyFilters.Attributes

謝謝,弗洛林

如果您在SO上進行一些搜索,就會發現很多問題,人們喜歡在這里檢查他們是否能夠訪問文件或是否具有所需的權限。

問題是,即使您進行了檢查(就像對File.Exists() ),在進行實際操作時情況也可以更改。

因此,只需丟棄File.Exists()try catch刪除操作即可。
如果失敗,則由您決定是否只是靜默丟棄它,通知用戶,關閉應用程序,關閉計算機等。

通常,由於fileChange是一系列事件,因此filewatcher會多次觸發。 這是一個有用的鏈接。 http://msdn.microsoft.com/zh-cn/library/system.io.filesystemwatcher.aspx滾動到末尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM