while循環里面用flush()方法似乎會使拷貝速度慢很多,我用字節緩沖流的時候,不調用改變緩沖區的構造方法,默認的8192B,拷貝一個5MB的mp3文件,才用252ms,bufferedoutputstream在調用close()方法的時候不是會flush,我在循環中加入flush()速度一下就慢下來了。
3 回答
舉報
0/150
提交
取消
while循環里面用flush()方法似乎會使拷貝速度慢很多,我用字節緩沖流的時候,不調用改變緩沖區的構造方法,默認的8192B,拷貝一個5MB的mp3文件,才用252ms,bufferedoutputstream在調用close()方法的時候不是會flush,我在循環中加入flush()速度一下就慢下來了。
2014-09-19
舉報
2015-08-11
查看了api,發現BufferedOutputStream的close()方法中會調用flush()方法
2014-11-01
不一定buffer的就快,自己用bytes[]數組批量讀寫,如果數組足夠大,速度也是超級快的,看情況使用!
2014-10-24
我也發現了,感覺寫一個字節,刷新一次緩沖區,也是在一個字節一個字節的輸出,所以會很慢,不在循環中加flush()方法,bufferedoutputstream可能會在緩沖區滿了之后自動flush,所以會比較快,個人想法,正在尋找依據中,希望能幫到你。