读书人

java资源关闭的有关问题

发布时间: 2012-03-02 14:40:28 作者: rapoo

java资源关闭的问题
装饰者模式
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

是否2个Reader的close()都要调用?
like:
try {
isr.close();
br.close();
}

如果2个都要调用,假设2个都可能会抛出IOException,放在一个try块里面是不是不妥?

[解决办法]
br.close();
只需要这个调用就可以了。

可以进源码里面看,这个close方法里面会调用isr.close()的。
[解决办法]
像这样一层套一层的情况,一般只要关闭最外层的就可以了

读书人网 >J2SE开发

热点推荐