【问题标题】:What is the difference between entity.getContent() and EntityUtils.tostring()entity.getContent() 和 EntityUtils.tostring() 有什么区别
【发布时间】:2014-06-11 02:17:16
【问题描述】:
我只是想知道一个 android 应用程序
建立http客户端并获取httpResponse后,有两种方式获取数据。第一个是 response.getEntity().getContent(),它返回一个输入流并使用 inputstreamreader 读取数据,第二个是使用 EntityUtils.toString(response.getEntity()) 直接获取数据。
有区别吗?首选哪种方式?
谢谢
【问题讨论】:
标签:
android
json
http
inputstream
【解决方案1】:
response.getEntity().getContent() 返回输入流-因此您可以读取来自服务器的数据-您无需等待所有数据都收到后才开始使用它(例如解析数据或渲染图像)。此外,在某些情况下,您不能(或出于性能原因不想)将所有接收到的数据同时存储在内存中 - 在这种情况下,您也应该使用此变体。
但是,如果您期望的字符串相对较短并且不会从 InputStream 中受益 - 您可以使用第二个变体 (EntityUtils.toString(response.getEntity())) 而没有任何缺点。