1,使用MD5,本地文件下載完後去文件的md5值與服務器的該文件md5進行比對,一致證實下載徹底。html
mMusicSourceFile = new File(MUSIC_FILE_PATH, mCurrentPlayMusic.getMusicName()+".tmp"); //按照SourceFile下載 mMusicDescFile = new File(MUSIC_FILE_PATH, mCurrentPlayMusic.getMusicName());服務器
mClient.downloadFile(new HttpGet(mCurrentPlayMusic.getMusicPath()), mMusicSourceFile)函數
//下載成功後 mMusicSourceFile.renameTo(mMusicDescFile);spa
int len, mHasRead = 0; byte[] buffer = new byte[8192]; final long size = response.getEntity().getContentLength(); BufferedOutputStream outputStream = null; InputStream inputStream = response.getEntity().getContent(); try { outputStream = new BufferedOutputStream(new FileOutputStream(mFile)); while (!Thread.interrupted() && (len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len); mHasRead += len; } outputStream.flush(); return mHasRead == size; } finally { if (outputStream != null) outputStream.close(); if (inputStream != null) inputStream.close(); } htm