2009-06-08 2 views
9

Ich bin auf der Suche nach einer Liste von plattformspezifischen (JRE-spezifischen) IOException-Nachrichten, die anzeigt, dass die Festplatte voll oder nicht genug Platz hat.IOException für Laufwerk voll oder aus dem Speicher

Bisher habe ich:

  • Fenster: There is not enough space on the disk
  • Solaris/Linux ?: Not enough space
  • GCJ: No space left on device

Ich wünsche Java würde eine IOException Unterklasse für diese machen. ..

+1

So Ihre Frage lautet: "Was Nachricht auf anderen Betriebssystemen die out-of-Disk-Raum ist?" –

+0

Ja, was ist die eigentliche Frage hier? –

Antwort

7

Der Wortlaut ist eigentlich eine Systemnachricht e, nicht einer von der JRE. (POSIX-kompatibel gibt "Nicht genügend Speicherplatz" zurück)

Daher ist es am besten, eine Liste der Systemfehlermeldungen für das Betriebssystem zu erhalten, auf das Sie ausgerichtet sind.

Wenn die Ausnahme ausgelöst wird, können Sie alternativ überprüfen, ob noch Speicherplatz auf der Festplatte vorhanden ist.

Aus den Apache Commons IO: (! Oder vielleicht sogar eine IOException werfen)

FileSystemUtils.freeSpaceKb(String path); 

wird freier Speicherplatz auf dem Laufwerk/zurückzuübertragen

0

Wie, warum gibt es keine IOException Unterklasse I vermute, dass der Betriebssystem-Dateiaufruf nicht genug Informationen in genug Fällen für Java liefert, um zu wissen, was der Fehler ist, ohne die Fehlermeldung zu analysieren (eine sehr fragile Operation im besten Fall). Dies gilt wahrscheinlich für eine Reihe von io-Anrufen.

1

fand ich folgende Meldungen:

"There is not enough space on the disk" 
"Not enough space" 
"No space left on device"