目前共有4篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:港澳繁體▼
 
點擊 回復
723 3
【證明】BufferedReader會自動關閉FileReader
一派掌門 二十級
1樓 發表于:2016-11-14 20:01
        try {
            FileReader fr = new FileReader("F:/My Data/2016/November/distance.txt");
            BufferedReader br = new BufferedReader(fr);
            br.close();
            
            char[] str = new char[20];
            fr.read(str);
            System.out.println(str);
            
        } catch (IOException e) {
            System.out.println("只需關閉br,無需關閉fr");
        }
一派掌門 二十級
2樓 發表于:2016-11-14 20:01
程序輸出:只需關閉br,無需關閉fr
這說明,只需要執行br.close();,無需執行fr.close();
 
一派掌門 二十級
3樓 發表于:2016-11-14 20:04
並且,官網上也有這樣的例子:
new BufferedReader(new FileReader("文件名"));
這說明其中被包裝的FileReader是無需手動關閉的。只需關閉最外層的BufferedReader就行了。
 
一派掌門 二十級
4樓 發表于:2016-11-14 20:44
但是,如果FileReader是自動關閉的(例如在手動關閉Socket對象時自動關閉與其關聯的InputStream),那麼BufferedReader就必須手動關閉,否則會丟失數據。
 

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:723 回複數:3
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2016-11-14 20:44
 
©2010-2025 Purasbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。