首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpResponse to String android

HttpResponse to String android
EN

Stack Overflow用户
提问于 2011-07-28 12:52:24
回答 8查看 73.4K关注 0票数 43

我试着用下面的代码把http响应转换成字符串,但是我的响应字符串在中间被终止了任何想法,如何将http响应转换成字符串,这样我就不会得到任何缓冲区问题。

代码语言:javascript
复制
private static String convertStreamToString(InputStream is) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();
    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append((line + "\n"));
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close(); 
        } catch (IOException e) {
            e.printStackTrace(); 
        }
    }
    return sb.toString();
}

任何人,有任何建议,请帮助。谢谢Deepesh

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-08-28 07:44:01

我想,有一种更简单的方法:

代码语言:javascript
复制
String result = EntityUtils.toString(resp_entity);

对吗?

票数 112
EN

Stack Overflow用户

发布于 2011-07-28 12:57:43

如下所示获取响应InputStream:

代码语言:javascript
复制
httpResponse = client.execute(request);
HttpEntity entity = httpResponse.getEntity();
InputStream is = entity.getContent();

尝试以下方法:

代码语言:javascript
复制
private static String convertStreamToString(InputStream is) {

    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append((line + "\n"));
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}
票数 24
EN

Stack Overflow用户

发布于 2012-09-24 19:52:12

代码语言:javascript
复制
HttpResponse response = http.execute(httpMethod);
int responseCode = response.getStatusLine().getStatusCode();
switch(responseCode) {
case 200:
HttpEntity entity = response.getEntity();
    if(entity != null) {
        String responseBody = EntityUtils.toString(entity);
    }
    break;
}

请参阅http://cdrussell.blogspot.com.es/2011/12/android-get-body-of-http-response-as.html

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6854243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档