IOException for drive full or out of space

Ben picture Ben · Jun 8, 2009 · Viewed 7.4k times · Source

I am looking for a list of platform-specific (JRE-specific) of IOException messages indicating disk is full or out of space.

So far I have:

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

I wish Java would make an IOException subclass for this...

Answer

Matt picture Matt · Jun 8, 2009

The wording is actually a system message, not one from the JRE. (POSIX compliant will return "Not enough space")

As such, your best bet is to get a list of system error messages for the OS' you are targeting.

Alternatively, when the exception is thrown, you could check to see if there is any space remaining on the disk.

From the apache commons IO:

FileSystemUtils.freeSpaceKb(String path);

will return free space on the drive/volume (or maybe even throw an IOException!)