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