ディスクがいっぱいか容量不足であることを示すプラットフォーム固有 (JRE 固有) の IOException メッセージのリストを探しています。
これまでのところ、私は持っています:
- ウィンドウズ:
There is not enough space on the disk
- Solaris/Linux?:
Not enough space
- GCJ:
No space left on device
JavaがこれのためにIOExceptionサブクラスを作成することを望みます...
ディスクがいっぱいか容量不足であることを示すプラットフォーム固有 (JRE 固有) の IOException メッセージのリストを探しています。
これまでのところ、私は持っています:
There is not enough space on the disk
Not enough space
No space left on device
JavaがこれのためにIOExceptionサブクラスを作成することを望みます...
この文言は実際にはシステム メッセージであり、JRE からのものではありません。(POSIX 準拠は「スペース不足」を返します)
そのため、ターゲットとする OS のシステム エラー メッセージのリストを取得することをお勧めします。
または、例外がスローされたときに、ディスクにスペースが残っているかどうかを確認できます。
Apache Commons IO から:
FileSystemUtils.freeSpaceKb(String path);
ドライブ/ボリュームの空き容量を返します (または、IOException をスローすることさえあります!)
なぜサブクラスがないのかというIOException
と、オペレーティング システムのファイル呼び出しでは、Java がエラー メッセージを解析せずにエラーの内容を知るのに十分な情報が得られないのではないかと思います (せいぜい非常に壊れやすい操作です)。これはおそらく、多くの io 呼び出しに当てはまります。