【发布时间】:2017-10-26 12:01:19
【问题描述】:
如果我有流(InputStream 或 OutputStream),但不是我创建的,而是作为参数传递给我的方法的,我应该关闭该流吗?这是一个例子:
void method(InputStream in) {
try {
//Do something
}
finally {
if(in != null) {
in.close(); //Is this needed and correct?
}
}
【问题讨论】:
-
不,你不应该。
-
无论是否关闭资源,都应该在方法 JavaDoc 注释 中声明。
-
@sdm 我可能是错的,但如果你写了
method,你就会有一些背景知识,其中InputStream将被传递给你的方法以便能够正确使用在你的方法中?如果您不知道如何调用您的方法,考虑到流也会在其他地方使用,它是否容易产生副作用?
标签: java inputstream outputstream