您是否见过Java文件close()抛出异常?

有没有人见过在任何可关闭对象上调用close方法时引发异常的情况?

回答:

IOException会就被抛出close,如果最终flush失败。可能的原因包括:

  • 文件系统已满,或用户超出配额,
  • 硬盘错误
  • 文件系统被强行卸载,
  • 由于网络或其他问题,远程文件系统不可用,
  • (可能是)通过OutputStreamWriter或类似方式写入文件的字符编码错误,
  • 如果“文件”是设备文件,则设备错误,
  • 如果可关闭设备是网络流,则失去连接,
  • 如果封闭容器是通向外部过程的管道,则该管道破裂;
  • 等等。

我当然已经看过其中一些。其他可能性不大。

但是,如果要写入的数据很重要,则应该允许close失败。例如,如果您的应用程序正在写出文件已填满的关键文件,则您的应用程序最好在用截断的版本替换文件的旧副本之前注意到这一点。

以上是 您是否见过Java文件close()抛出异常? 的全部内容, 来源链接: utcz.com/qa/404056.html

回到顶部