空き領域がないことを通知するには?

解決


xac  2010-06-19 23:36:08  No: 146929  IP: [192.*.*.*]

こんばんわ。

現在、VB.NETにて1つのドライブ(Cドライブ等)にファイルを追加もしくは追加したファイルを更新するようなプログラムを作成している途中です。
当然ながら、追加等を行っていくといずれかは空き容量がなくなっていきます。
そこで、追加等の作業を行っている時に空き容量がなくなったらメッセージを表示するような処理を追加しようと思っているのですが躓いております。

取りあえず「Try〜Catch」の「System.IO.IOException」で空き領域がなくなったときのエラーが取れることまでは分かったのですが、「System.IO.IOException」はファイルがロックされている時などのエラーも取ってしまうようで困っています。
何とかして、空き領域がなくなったときだけ処理を行うような方法はないでしょうか?

よろしくお願いいたします。

編集 削除
オショウ  2010-06-20 08:58:35  No: 146930  IP: [192.*.*.*]

Try〜でCatchした際のexを判断すれば、無くなったことは解りますが・・・

http://dobon.net/vb/dotnet/file/freespace.html

空き容量を取得して、ある一定以下になった場合、書くことができないと
判断させてメッセージを出せば如何?

以上。参考まで

編集 削除
xac  2010-06-20 22:27:29  No: 146931  IP: [192.*.*.*]

オショウ  さん

レスありがとうございます。
一応その方法も考えてはいました。

その後、色々と調べていたのですが、「System.IO.IOException」で空き領域がなくなったときを通知したあと、ファイルがクローズ出来なくなる現象もあるみたいですね。

そうなると、オショウさんの方法が無難に解決できそうですね。

編集 削除
xac  2010-06-23 18:53:13  No: 146932  IP: [192.*.*.*]

一先ず、オショウさんからの案で作成することになりました。

どうもありがとうございました。

編集 削除