Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android文件下載大小和網絡不一致(偏大)

android文件下載大小和網絡不一致(偏大)

編輯:關於Android編程

今天在寫一個文件下載的程序,在網上搜索了一個抄,用來下載MP3文件。   但是發現下載的MP3文件比原來的文件要大,而且MP3中會有雜音。   在Log中加入日志後發現:   從  網絡流中獲取的流長度為3000000左右   但是從 SD卡上獲得的文件長度為 4000000左右   最後發現是下載時用的方法問題:   只要改正一個函數即可:     原來的文件下載主代碼:    
OutputStream output=new FileOutputStream(file);  
                   byte[] buffer=new byte[1024*4];  
                   while (istream.read(buffer)!=-1) {  
                       output.write(buffer);  
                   }  
                   output.flush();  
                   output.close();  
                   istream.close();  

 

改正後的主代碼:  
OutputStream OS = new FileOutputStream(file);  
            byte[] buffer = new byte[1024 * 4];  
            int len=-1;  
            while ((len=is.read(buffer)) != -1) {  
                OS.write(buffer,0,len);  //在這裡使用另一個重載,防止流寫入的問題.  
            }  
            OS.flush();  
            OS.close();  
            is.close();  

 

  以上就是今天寫代碼時遇到的問題,和改正的方
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved