2009-06-08 2 views
9

Я ищу список специфичных для конкретной платформы сообщений IOException, указывающих на то, что диск заполнен или вышел из космоса.IOException для полного или полного пробега

До сих пор у меня есть:

  • Окна: There is not enough space on the disk
  • Solaris/Linux ?: Not enough space
  • GCJ: No space left on device

Я хотел бы Java подкласса IOException для этого. ..

+1

Так что ваш вопрос: «Что это сообщение вне дискового пространства на других операционных системах?» –

+0

Да, в чем вопрос? –

ответ

7

Формулировка на самом деле является системным почтовым ящиком e, не один из JRE. (POSIX-совместимый будет возвращать «Недостаточно места»)

Таким образом, лучше всего получить список системных сообщений об ошибках для ОС, на которые вы нацеливаетесь.

В качестве альтернативы, когда выбрано исключение, вы можете проверить, нет ли свободного места на диске.

С Apache Commons IO: (! Или, возможно, даже бросить IOException)

FileSystemUtils.freeSpaceKb(String path); 

возвратит свободное пространство на диске/томе

0

Как почему там не IOException подкласс, я подозревают, что вызов файла операционной системы не дает достаточной информации в достаточных случаях для Java, чтобы знать, что такое ошибка, без разбора сообщения об ошибке (в лучшем случае это очень хрупкая операция). Вероятно, это относится ко многим вызовам io.

1

Я нашел следующие сообщения:

"There is not enough space on the disk" 
"Not enough space" 
"No space left on device" 
Смежные вопросы