2009-06-08 21 views
4

我有一個小實用程序,它使用.NET的FileInfo.Delete()方法從文件夾中刪除文件。基本上,如果文件當前處於打開狀態,我可以捕獲IOException。這適用於除圖像文件(JPG,GIF,BMP等)以外的所有文件。當這些類型的文件打開時,程序仍然能夠刪除它們而不會引發任何異常。你有沒有遇到過這個?如何檢測這些類型的文件是否打開,以便我可以防止刪除。爲什麼我可以使用FileInfo刪除.NET中的開放圖像文件?

感謝, 胡志明市

回答

8

無論你是否可以刪除文件處於打開狀態時更多地依賴於該文件是比文件類型打開程序。如果應用程序只是簡單地讀取文件內容,然後關閉文件(例如記事本),則可以在文件「打開」(意味着它在「記事本」中顯示)時刪除該文件。另一方面,Excel以一種通常甚至無法複製文件的方式保持文件打開狀態。

1

使用類似於WhoLockMe或Unlocker的工具來查看文件是否真的「打開」。正如其他人所說,這與文件類型無關,只是讀取它的程序如何打開文件。

相關問題