綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[資料] android開發下載的文件大小始終大於伺服器的文件的大小問題

[複製連結] 查看: 850|回覆: 0|好評: 0
跳轉到指定樓層
樓主
暗桌之光 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2011-7-8 15:45

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 暗桌之光 於 2011-7-8 15:45 編輯

最近學習android開發,寫了一個在web服務器下載文件的程序,程序能夠下載成功,但是下載下來竟然發現下載的文件和服務器上的文件大小不一致,參考了網上的很多程序,沒有發現問題,搞了一夜,終於發現bug,問題出現在往sdcard寫入的一段程序:
  1. byte[] buffer = new byte[4*1024];
  2.     while(( is.read(buffer)) != -1){//問題出現在這兒
  3.     //is.read(buffer)不一定正好讀入4*1024個字節,測試後發現很少能一次讀滿buffer,大部分時候是1440字節,不知道什麼原因,求教高手!
  4.     os.write(buffer);
  5. }
複製代碼
修改這段程序後(如下所示),運行終於正常,不知道為什麼有些網友用上邊的程序能運行成功。
  1. byte[] buffer = new byte[4*1024];
  2. int length = 0;
  3. while((length = is.read(buffer)) != -1){
  4.         os.write(buffer,0,length);
  5.         System.out.println(length);
  6. }
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則