2009-06-08 4 views
4

.NETのFileInfo.Delete()メソッドを使用してフォルダからファイルを削除する小さなユーティリティがあります。基本的に、ファイルが現在開いている場合はIOExceptionをキャッチできます。これは、イメージファイル(JPG、GIF、BMP、など)を除くすべてのファイルに適用されます。これらのタイプのファイルが開いている場合、プログラムは例外をスローせずにファイルを削除できます。この前に遭遇しましたか?どのように私は削除を防ぐことができますように、これらのタイプのファイルが開いていることを検出について行くだろう。FileInfoを使用して.NETで開いているイメージファイルを削除することができますか?

おかげで、 ミン

答えて

8

それが開いているときに、ファイルを削除できるかどうかは、ファイルが、ファイルの種類よりも開放されたプログラムの詳細を依存しています。たとえば、アプリケーションが単にファイルの内容を読み込んでファイルを閉じると(メモ帳など)、ファイルが「開いている」(メモ帳に表示されている)ときにファイルを削除できます。一方、Excelでは、通常はコピーすることができない方法でファイルを開いたままにしています。

1

WhoLockMeやUnlockerのようなツールを使用して、ファイルが実際に「開いている」かどうかを確認します。他の人は、これはファイルの種類とは関係がないと言っているので、それを読み込んでいるプログラムがどのようにファイルを開くのかということだけです。

関連する問題