输入输出流一定需要关闭吗

爱T鱼 2012-02-10 04:25:37

new BufferReader(new InputStreamReader(new ByteArrayInputStream(...)));


像这样的流,每一个都需要关闭吗?


import org.apache.log4j.Logger;

public class PropertyUtil {

/**
* @param args
*/
public static void main(String[] args) {
PropertyUtil test01 = new PropertyUtil();
System.out.println(test01.getProperty("libowifi"));
}


/*
* 获取属性文件的值
*/
private static final Logger logger = Logger.getLogger(PropertyUtil.class);
private static Properties properties;
static {
// 加载属性文件
try {
InputStream inputStream = PropertyUtil.class.getClassLoader().getResourceAsStream("haixi.properties");
try {
properties=new Properties();
properties.load(inputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
inputStream.close();
}
} catch (Exception e) {
logger.error(e.getMessage());
}
}

public static String getProperty(String key) {
return properties.getProperty(key);
}
}

这样必须关闭吗?请指点。。。
...全文
3355 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
ByteArrayInputStream 可以不用关,其中的 close 是个空方法
zqfddqr 2012-02-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bao110908 的回复:]

ByteArrayInputStream 可以不用关,其中的 close 是个空方法
[/Quote]
这都被你发现了
coooliang 2012-02-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bao110908 的回复:]

ByteArrayInputStream 可以不用关,其中的 close 是个空方法
[/Quote]
那这个方法不是没有存在的意义了?
飞跃颠峰 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ouleiqi 的回复:]

引用 4 楼 alexandertech 的回复:

关掉外层的就行了,外层的会依次关闭里层的。有兴趣的话可以看下它们实现的源码就清楚了


第二个例子,我可不可以不关闭呐。
[/Quote]

第二个例子你必须自己关闭,否则会一直占用。而且由于它是写在静态代码中,JVM的垃圾回收都不会去碰它
beowulf2005 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ouleiqi 的回复:]

第二个例子,我如果不关闭的时候,这个资源是不是一直被占用,直到程序被强制结束。。。
[/Quote]
爱T鱼 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 alexandertech 的回复:]

关掉外层的就行了,外层的会依次关闭里层的。有兴趣的话可以看下它们实现的源码就清楚了
[/Quote]

第二个例子,我可不可以不关闭呐。
飞跃颠峰 2012-02-10
  • 打赏
  • 举报
回复
关掉外层的就行了,外层的会依次关闭里层的。有兴趣的话可以看下它们实现的源码就清楚了
爱T鱼 2012-02-10
  • 打赏
  • 举报
回复
第二个例子,我如果不关闭的时候,这个资源是不是一直被占用,直到程序被强制结束。。。
gukuitian 2012-02-10
  • 打赏
  • 举报
回复
下面的这个,不关的话,当然也不会出错。。毕竟这文件只加载一次,
但没用的资源,能关就关掉了,至少关掉是不会有任何问题的。
gukuitian 2012-02-10
  • 打赏
  • 举报
回复
关掉外层的就行,

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧