Android 台灣中文網

標題: android開發下載的文件大小始終大於伺服器的文件的大小問題 [打印本頁]

作者: 暗桌之光    時間: 2011-7-8 15:45
標題: android開發下載的文件大小始終大於伺服器的文件的大小問題
本帖最後由 暗桌之光 於 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 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1