ストリーム(InputStreamまたはOutputStream)を作成しなかったが、パラメータとしてメソッドに渡した場合、そのストリームを閉じる必要がありますか?ここに例があります:作成していないストリームを閉じるべきですか?
void method(InputStream in) {
try {
//Do something
}
finally {
if(in != null) {
in.close(); //Is this needed and correct?
}
}
いいえ、そうしないでください。 –
いずれの方法でも、リソースを閉じるかどうかを* JavaDocコメント*で宣言する必要があります。 –
@sdm私は間違っているかもしれませんが、 'method'を書いたのであれば、あなたのメソッドでそれを正しく使うために' InputStream'があなたのメソッドに渡される背景を知っていますか?あなたのメソッドがどのように呼び出されるかについてのアイデアがない場合、ストリームが他の場所でも使用されることを考慮すると、副作用が起こりにくいのですか? – CKing