關(guān)于write()方法的append問題
以下是摘自FileOutputStream的部分源碼: ????public?FileOutputStream(File?file)?throws?FileNotFoundException?{ ????????this(file,?false); ????} ????public?FileOutputStream(File?file,?boolean?append)?throws?FileNotFoundException{ ????????... ????????this.append?=?append; ??????????????????... ????} 可以看到創(chuàng)建FileOutput默認append屬性為false,即不會追加到文件末尾。 但是。 復制文件的時候有部分代碼如下: ????????while?((len?=?in.read(buf,?0,?buf.length))?!=?-1)?{ ????????????out.write(buf,?0,?len); ????????} 為什么這里的write()方法不會覆蓋之前寫入的字節(jié)。
2017-10-21
我感覺這個參數(shù)設(shè)置的在創(chuàng)建這個FileOutputStream變量的時候的動作
append參數(shù)的不同會導致是創(chuàng)建新的文件還是在原先的文件末尾添加
而不會影響后面的write操作
write操作位置好像是依賴于iterator也就是迭代器的
2017-04-24
這個false是針對之前的文本文件,也就是說,你在一次操作中,覆蓋操作是相對于之前的文件。對本次操作是不會覆蓋的。