3 回答

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

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

TA貢獻1801條經驗 獲得超8個贊
close()的作用是關閉這個流,并且釋放這個流所占用的資源。
你做簡單應用不釋放也沒關系,不會對系統造成影響。但是你想想要是上萬人同時用你這個系統,那么你的機器就受不了了。
同時不關閉這個編程習慣不縝密,不好。
添加回答
舉報