程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java 輸入輸出流 關閉-關於Java輸入輸出流關閉的問題。。。

java 輸入輸出流 關閉-關於Java輸入輸出流關閉的問題。。。

編輯:編程綜合問答
關於Java輸入輸出流關閉的問題。。。

在學java時老師一直強調要用完流要關閉流,但有一個問題我一直沒清楚,就是裝飾流該怎麼個關閉,通常我們是這樣關閉的:
...
FileWriter fw = new FileWriter(fileName);
BufferedWriter bw = new BufferedWriter(fw);
...
fw.close();
bw.close();
...
但我感覺太累贅,既然fw被bw裝飾了,bw關閉的同時是否fw也被關閉呢?
或者fw被關閉了的話,bw是否同時也被關閉,畢竟它們用的是一個流通道。

假如fw,bw都需要被關閉的話,它們關閉的順序有要求嗎?就是關閉的先後
順序改變會有影響嗎。

我還見到一只情況,如果bw是這樣創建的:
...
BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
...
這樣我們就取不到fw了,怎麼辦?

最佳回答:


  • 如果流是被嵌套起來的話,只需要關閉最外層的流就可以了,被修飾的流會自動關閉
  • 在你給的第一個例子中,只要調用bw.close()就可以了,第二個例子調用bw.close()
  • 可以看一下這個鏈接 http://www.javapractices.com/topic/TopicAction.do?Id=8
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved