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

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

關于write()方法的append問題

以下是摘自FileOutputStream的部分源碼:
????public?FileOutputStream(File?file)?throws?FileNotFoundException?{
????????this(file,?false);
????}
????public?FileOutputStream(File?file,?boolean?append)?throws?FileNotFoundException{
????????...
????????this.append?=?append;
??????????????????...
????}
可以看到創建FileOutput默認append屬性為false,即不會追加到文件末尾。
但是。
復制文件的時候有部分代碼如下:
????????while?((len?=?in.read(buf,?0,?buf.length))?!=?-1)?{
????????????out.write(buf,?0,?len);
????????}
為什么這里的write()方法不會覆蓋之前寫入的字節。


正在回答

2 回答

我感覺這個參數設置的在創建這個FileOutputStream變量的時候的動作

append參數的不同會導致是創建新的文件還是在原先的文件末尾添加

而不會影響后面的write操作

write操作位置好像是依賴于iterator也就是迭代器的

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

這個false是針對之前的文本文件,也就是說,你在一次操作中,覆蓋操作是相對于之前的文件。對本次操作是不會覆蓋的。

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

舉報

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

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

進入課程

關于write()方法的append問題

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

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

幫助反饋 APP下載

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

公眾號

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