2013-11-01 55 views
6

我的android應用程序使用發送多部分HTTP請求的API。我成功得到如下響應:如何將HttpResponse下載到文件中?

post.setEntity(multipartEntity.build()); 
HttpResponse response = client.execute(post); 

響應是電子書文件(通常是epub或mobi)的內容。我想把它寫到一個指定路徑的文件中,讓我們說「/sdcard/test.epub」。

文件可能高達20MB,因此它需要使用某種類型的流,但是我無法繞過它。謝謝!

回答

12

以及它是一個簡單的任務,你需要的WRITE_EXTERNAL_STORAGE使用許可..然後只檢索InputStream

InputStream is = response.getEntity().getContent(); 

創建一個FileOutputStream

FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory(), "test.epub"));

和讀取,並與FOS

int read = 0; 
byte[] buffer = new byte[32768]; 
while((read = is.read(buffer)) > 0) { 
    fos.write(buffer, 0, read); 
} 

fos.close(); 
is.close(); 

編輯寫的,檢查tyoo

+0

完美。 response.getEntity()。getContent()提供輸入流這一事實是缺失的難題。謝謝。 – user1023127

+0

歡迎您\ – Blackbelt

相關問題