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

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

while循環里面用flush()方法似乎會使拷貝速度慢很多,我用字節緩沖流的時候,不調用改變緩沖區的構造方法,默認的8192B,拷貝一個5MB的mp3文件,才用252ms,bufferedoutputstream在調用close()方法的時候不是會flush,我在循環中加入flush()速度一下就慢下來了。

正在回答

3 回答

查看了api,發現BufferedOutputStream的close()方法中會調用flush()方法

????public?void?close()?throws?IOException?{
????????try?{
??????????flush();
????????}?catch?(IOException?ignored)?{
????????}
????????out.close();
????}


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

不一定buffer的就快,自己用bytes[]數組批量讀寫,如果數組足夠大,速度也是超級快的,看情況使用!

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

我也發現了,感覺寫一個字節,刷新一次緩沖區,也是在一個字節一個字節的輸出,所以會很慢,不在循環中加flush()方法,bufferedoutputstream可能會在緩沖區滿了之后自動flush,所以會比較快,個人想法,正在尋找依據中,希望能幫到你。

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

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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