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()的。
[解决办法]
像这样一层套一层的情况,一般只要关闭最外层的就可以了