3 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果這個(gè)問(wèn)題是:BufferedReader關(guān)閉了,有必要關(guān)閉InputStreamReader和InputStream嗎?,那這個(gè)問(wèn)題還正常些........
Java的io包里面的stream和reader,都用的是裝飾者模式。你只需要調(diào)用最外層裝飾者的close方法,它就能將其所裝飾的stream或者reader也一并關(guān)閉。
實(shí)在不行,打開(kāi)BufferedReader
的源代碼看看close方法,就會(huì)發(fā)現(xiàn)它再這個(gè)方法里關(guān)閉了它所裝飾的reader.
再實(shí)在不行,推薦在下的拙作一篇,也許能解決你的疑惑《Java IO : 流,以及裝飾器模式在其上的運(yùn)用》

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
都要關(guān)的,按順序一個(gè)個(gè)關(guān),最好在finally中
finally{
try{
br.close();
isr.close();
is.close();
}catch(Exception e){
......
}
}
最先創(chuàng)建的最后關(guān),最后創(chuàng)建的最先關(guān)
添加回答
舉報(bào)