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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

BufferedInputStream FileInputStream 效率問題

BufferedInputStream FileInputStream 效率問題

zhangxianggis 2015-11-24 17:24:09
為什么測試時BufferedInputStream/BufferedOutputStream 復制文件比 比FileInputStream/FileOutputStream(開辟了byte[] buf = new byte[8*1024]緩沖數組)要慢呢? (我自己測試時也是如此 BufferedOutputStream 中的flush已寫在了循環外)
查看完整描述

2 回答

?
天啟之魂

TA貢獻174條經驗 獲得超85個贊

好吧 這個我沒仔細看過 反正兩種一個時系統給的緩沖區 一個相當于時自定義緩沖區 速度應該差別不會太大

查看完整回答
反對 回復 2015-11-26
  • zhangxianggis
    zhangxianggis
    奇怪的就是復制一個40多M的文件BufferedInputStream/BufferedOutputStream用了6976ms FileInputStream/FileOutputStream用了219ms 怎么就差了30倍
  • 天啟之魂
    天啟之魂
    那應該就是你的代碼有問題了。。。我也試過用兩個方法復制6m多的文件 速度幾乎沒區別
?
天啟之魂

TA貢獻174條經驗 獲得超85個贊

有可能阿 緩沖區的大小應該沒有你設定的數組大,所以效率沒你自定義的緩沖區效率高 是可能的 最高的效率的是你講數組設定成文件的大小一次搞定的那是緩沖區越大 有對內存要求越高等其他問題

查看完整回答
反對 回復 2015-11-24
  • zhangxianggis
    zhangxianggis
    我看了BufferedInputStream的源碼 默認的緩沖區大小也是8*1024 private static int defaultBufferSize = 8192;
  • 2 回答
  • 0 關注
  • 2004 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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