亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請教文件關閉問題

FileInputStream in = new FileInputStream(srcFile);
?? ??? ?InputStreamReader isr = new InputStreamReader(in);
?? ??? ?
?? ??? ?FileOutputStream out = new FileOutputStream(desFile);
?? ??? ?OutputStreamWriter osw = new OutputStreamWriter(out);

最后關閉的時候只要isr.close();?osw.close();這兩個都關閉了就行嗎?in和out不需要關閉嗎?


正在回答

4 回答

但是我剛才也試了下,

FileInputStream inf=new FileInputStream("Demo/dddd.txt");
InputStreamReader isr=new InputStreamReader(inf,"UTF-8");

FileOutputStream outf=new FileOutputStream("Demo/dos.dat");
OutputStreamWriter osw=new OutputStreamWriter(outf);

isr.close();
osw.close();

byte[] s=new byte[8*1024];
while ((c=inf.read(s, 0, s.length))!=-1) {
?? ?? outf.write(s, 0, c);
}

這樣去讀取的時候,會報read error,跟提前關掉inf和outf去讀取時候一樣

0 回復 有任何疑惑可以回復我~

我本人也不太清楚,但是我問了工作群里面,說的是都需要關閉

0 回復 有任何疑惑可以回復我~

in和out是低級流,外面套著isr和osw高級流,關閉的時候只需要關閉最外層的就可以了。

0 回復 有任何疑惑可以回復我~

都需要關閉

0 回復 有任何疑惑可以回復我~
#1

liusongsir 提問者

原來是這樣啊~我看老師講的時候沒有提過要關閉,然后突然就想問問。
2015-07-30 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
文件傳輸基礎——Java IO流
  • 參與學習       133821    人
  • 解答問題       1060    個

為您介紹IO流的使用,以及對象的序列化和反序列化的內容

進入課程

請教文件關閉問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號