检测到设备错误没有剩余空间

时间:2015-07-19 11:35:24

标签: java

是否存在系统独立的方式来检测IOException何时与“设备上没有空间”错误相关? IOException没有方法。如果不解释用户原因,我应该将其视为通用I / O错误吗?或者我应该只是向用户显示异常消息字符串(这可能是太技术性的)?

2 个答案:

答案 0 :(得分:2)

Java与其他语言(如C#不同)不会跟踪IOException的原因,但它使用子类来更好地指定异常的动机,例如{{3} }是IOException的子类。

通常最好指定最常见子楼的原因,并在IOException的错误消息前加上通用描述,以方便用户。

try {
   ...
} catch (FileNotFoundException e) {
  System.out.println("File not found: " + e.getMessage());
} catch (.. other subclasses ..) {
   ...
} catch (IOException e) { // anything else
  System.out.println("I/O Exception: " + e.getMessage());
  e.printStackTrace();
}  

答案 1 :(得分:1)

作为异常处理的一部分,您可以使用File类提供的这些方法检查可用磁盘空间:

public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()

有关详细信息,请参阅此相关问题:How to find how much disk space is left using Java?