在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ Java:匿名文件流的關(guān)閉問題

Java:匿名文件流的關(guān)閉問題

譬如下面這個(gè)語句,有兩個(gè)匿名文件流,OutputStreamWriter和FileOutputStream

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(targetFile)));

如果僅僅對(duì)writer.close(),而不管內(nèi)部的兩個(gè)匿名文件流,有何問題嗎?

回答
編輯回答
練命

只需要關(guān)閉最外層流,它自己會(huì)遞歸把里層的流關(guān)閉

2017年7月25日 13:14
編輯回答
賤人曾

沒問題,其實(shí)這段代碼只創(chuàng)建了一個(gè)流,這種寫法是設(shè)計(jì)模式之包裝模式。

2017年11月4日 09:58
編輯回答
短嘆
FileOutputStream fos = new FileOutputStream(targetFile);
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter writer = new BufferedWriter(osw);

writer.close();

writer.close()函數(shù)內(nèi)部將out(也就是構(gòu)造函數(shù)傳入的osw)置為null,此時(shí)osw懸空,會(huì)被GC掉,同時(shí)FileOutputStream重寫了finalize()方法,在此方法中關(guān)閉了文件流。

2017年10月11日 18:26