使用FileSystemWatcher 進行有效的目錄監控
使用Windows 窗體應用程式時,監控目錄並管理放入其中的檔案可能是常見的操作任務。但是,遇到程序意外終止可能會引起擔憂。
此問題的一個潛在原因在於通知過濾器。提供的程式碼包括幾個通知過濾器,包括 LastAccess、FileName 和 DirectoryName。這導致程式嘗試開啟仍在複製到目錄中的檔案。
要解決此問題,建議微調通知過濾器。在更新的程式碼片段中,除了 LastWrite 篩選器之外的所有篩選器都已被刪除。這確保了程式僅在對目錄執行寫入操作時做出反應,從而防止嘗試開啟仍在複製的檔案。
private void watch() { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = path; watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Filter = "*.*"; watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.EnableRaisingEvents = true; }
透過實現此更改,程式可以有效地監視目錄並處理傳入的檔案而不會遇到提前終止的情況。
以上是在 Windows 窗體應用程式中監控目錄時如何防止意外終止?的詳細內容。更多資訊請關注PHP中文網其他相關文章!