3 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
書上說(shuō)的是InputStream和OutputStream這兩個(gè)類的close()方法什么也不做。
這么做是為了讓開發(fā)者自己去繼承這兩個(gè)類,并覆蓋close()方法。如果不覆蓋,則默認(rèn)什么也不做。這使得程序員可以在close方法中做自己需要的操作。比如刪除臨時(shí)文件之類的。。。
JAVA中,所有的輸入流都是InputStream的子類的對(duì)象,所有的輸出流都是OutputStream的子類的對(duì)象。因?yàn)镮nputStream和OutputStream都是抽象類,它們不可能被實(shí)例化。
JDK中有一些常用的類已經(jīng)繼承了這兩個(gè)類。比如FileInputStream和FileOutputStream,這兩個(gè)子類的close()方法都有執(zhí)行操作的。

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
close方法通常是用在關(guān)閉一個(gè)流,如文件流,數(shù)據(jù)庫(kù)io流的等,說(shuō)白了就是為了釋放資源。舉例:
OutputStreamWriter pw = null;//定義一個(gè)流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//確認(rèn)流的輸出文件和編碼格式,此過(guò)程創(chuàng)建了“test.txt”實(shí)例
pw.write("我是要寫入到記事本文件的內(nèi)容");//將要寫入文件的內(nèi)容,可以多次write
pw.close();//關(guān)閉流
備注:文件流用完之后必須及時(shí)通過(guò)close方法關(guān)閉,否則會(huì)一直處于打開狀態(tài),直至程序停止,增加系統(tǒng)負(fù)擔(dān)。

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
close()的作用是關(guān)閉這個(gè)流,并且釋放這個(gè)流所占用的資源。
你做簡(jiǎn)單應(yīng)用不釋放也沒(méi)關(guān)系,不會(huì)對(duì)系統(tǒng)造成影響。但是你想想要是上萬(wàn)人同時(shí)用你這個(gè)系統(tǒng),那么你的機(jī)器就受不了了。
同時(shí)不關(guān)閉這個(gè)編程習(xí)慣不縝密,不好。
添加回答
舉報(bào)