在Android中将InputStream转换为String返回部分响应字符串。有人能说明为什么会这样吗?

时间:2014-09-20 13:39:56

标签: android inputstream

在下面的代码中,我在转换从服务器收到的响应输入流时遇到问题,因为它没有给我全长响应字符串。

我正在使用下面提到的Google商家信息服务,即使在浏览器或其他任何外部HTTP客户端中点击也会返回全长响应,但在Android情况下,当我使用以下方法时,它仅返回部分响应。有人能说明为什么会这样吗?是因为缓冲区大小还是存在其他一些原因。

https://maps.googleapis.com/maps/api/place/search/json?location=18.5203,73.8567&radius=1000000&key=AIzaSyA9iyRrod8WpOcaWYXiGiNfkGpAHW16jcM

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();
}

0 个答案:

没有答案