11

ディスクがいっぱいか容量不足であることを示すプラットフォーム固有 (JRE 固有) の IOException メッセージのリストを探しています。

これまでのところ、私は持っています:

  • ウィンドウズ:There is not enough space on the disk
  • Solaris/Linux?:Not enough space
  • GCJ:No space left on device

JavaがこれのためにIOExceptionサブクラスを作成することを望みます...

4

2 に答える 2

9

この文言は実際にはシステム メッセージであり、JRE からのものではありません。(POSIX 準拠は「スペース不足」を返します)

そのため、ターゲットとする OS のシステム エラー メッセージのリストを取得することをお勧めします。

または、例外がスローされたときに、ディスクにスペースが残っているかどうかを確認できます。

Apache Commons IO から:

FileSystemUtils.freeSpaceKb(String path);

ドライブ/ボリュームの空き容量を返します (または、IOException をスローすることさえあります!)

于 2009-06-08T19:28:15.253 に答える
2

なぜサブクラスがないのかというIOExceptionと、オペレーティング システムのファイル呼び出しでは、Java がエラー メッセージを解析せずにエラーの内容を知るのに十分な情報が得られないのではないかと思います (せいぜい非常に壊れやすい操作です)。これはおそらく、多くの io 呼び出しに当てはまります。

于 2009-06-08T22:13:58.880 に答える