如果 outputStream.close() 失败,流仍将关闭,系统资源仍将释放?



如果不是,假设这个外流的关闭方法在接下来的一个小时内会失败,我应该如何保证资源被释放?

我已经阅读了关闭自动关闭的正确方法,但没有关于尝试资源如何确保资源被释放的答案。

谢谢。

Try-with-resouces 确保close()总是被调用,就是这样。如果close()方法引发异常,它不会对资源执行任何其他操作,因为没有其他操作可以执行。

如果close()引发异常,则应认为资源已释放,但它可能使资源处于不完整状态。 例如,关闭OutputStream可能会刷新最终缓冲区,并且该数据的写入可能会失败,从而使资源(例如文件(缺少最后一个数据块。

最新更新