如何以流式方式将实体保存到SDCard(以避免内存问题)。
我无法找到有关此事的任何可靠文件。
response = httpClient.execute(request);
BufferedHttpEntity responseEntity = new BufferedHttpEntity(response.getEntity());
FileOutputStream fos = new FileOutputStream(Files.SDCARD + savePath);
responseEntity.writeTo(fos);
fos.flush();
fos.close();
这给了我文件,但没有内容。 (2KB大小)所以它写得不好。
服务器正在发送FileStream
。我已确认可以工作。
答案 0 :(得分:2)
我会尝试这种方法:
HttpResponse response = httpClient.execute(post);
InputStream input = response.getEntity().getContent();
OutputStream output = new FileOutputStream("path/to/file");
int read = 0;
byte[] bytes = new byte[1024];
while ((read = input.read(bytes)) != -1) {
output.write(bytes, 0, read);
}
output.close();
希望它有所帮助。 欢呼声。