ソースコードが入手できない、文書化が不十分なサードパーティのライブラリを使用しているとしましょう。ライブラリのメソッドの 1 つは、InputStream
さまざまなデータをロードするために を受け入れます。
ドキュメントが不足しているため、メソッドがストリームの処理が完了したときにストリームを閉じるかどうかは明確ではありません。そのため、考えられる解決策の 1 つは、安全のために、try-with-resource で呼び出しをラップすることです。
残念ながら、Java の仕様では (私の知る限り)、try-with-resource 内でリソースが手動で閉じられた場合に何が起こるかについては言及されていません。誰かがたまたま知っていますか?