Android是否有字符串的实习生字符限制?

时间:2014-10-10 10:40:21

标签: java android string httpurlconnection stringbuffer

我在我的应用程序和我的常见Java测试中使用HttpUrlConnection并且我实现了一个方法,并且该方法(两者都很常见,因此,相同!!!)以另一种方式在Android案例中表现。

他们两个都可以从服务器接收相同的响应,但在Java测试中我可以显示此响应,而在Android应用程序中将其分为3200个字符。

这是我的代码

private String sendPost() throws Exception{


    String url = "http://www.something.com/my_page.jsp?";
    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();

    //add request header
    con.setRequestMethod("POST");


    String urlParameters ="param1=val1&param2=val2";

    // Send post request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(urlParameters);
    wr.flush();
    wr.close();

    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();

    // return result
    Log.i("TAG", "sendPost:: Response length : " + response.length()); // <- This line returns the same length!!!       

    return response.toString();
}

我可以从类con HttpUrlConnectionContentLengthContentType获得此对象,但在这两种情况下都是相同的,因此我怀疑,那里必须是Android中String / StringBuffer的实习生设置/参数,这可以区分这些情况,但我不知道是什么。 readLine读取相同或至少相同数量的chars,因为在两种情况下,响应的长度都相同。

如果你能说我,那就错了,我会非常感激。

亲切的问候

1 个答案:

答案 0 :(得分:4)

我无法理解你对症状的描述;即为什么你认为某事被截断。

但是,我可以向您保证,这不是由于StringStringBuffer的长度限制。

这两个类确实有限制,但它是2**31(即> 20亿)个字符。在缓冲区变大之前,通常会得到OutOfMemoryError