驱动器已满或空间不足的IOException

Ben*_*Ben 11 java ioexception

我正在寻找一个特定于平台(特定于JRE)的IOException消息列表,指示磁盘已满或空间不足.

到目前为止,我有:

  • 视窗: There is not enough space on the disk
  • Solaris/Linux操作系统?: Not enough space
  • GCJ: No space left on device

我希望Java为此创建一个IOException子类...

Mat*_*att 9

措辞实际上是一个系统消息,而不是来自JRE的消息.(POSIX兼容将返回"没有足够的空间")

因此,您最好的办法是获取您要定位的操作系统的系统错误消息列表.

或者,当抛出异常时,您可以检查磁盘上是否还有剩余空间.

来自apache commons IO:

FileSystemUtils.freeSpaceKb(String path);
Run Code Online (Sandbox Code Playgroud)

将返回驱动器/卷上的可用空间(或者甚至可能抛出IOException!)