Java Android对字符串有实习生字符限制吗?
我在我的应用程序和我的公共Java测试中使用了Java Android对字符串有实习生字符限制吗?,java,android,string,httpurlconnection,stringbuffer,Java,Android,String,Httpurlconnection,Stringbuffer,我在我的应用程序和我的公共Java测试中使用了HttpUrlConnection,我实现了一个方法,该方法(两者通用,所以完全相同!!!)在Android案例中以另一种方式运行 它们都可以从服务器接收相同的响应,但在Java测试中,当Android应用程序被分块到3200个字符时,我可以显示这个响应 这是我的密码 private String sendPost() throws Exception{ String url = "http://www.something.com/my_
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¶m2=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();
}
私有字符串sendPost()引发异常{
字符串url=”http://www.something.com/my_page.jsp?";
URL obj=新URL(URL);
HttpURLConnection con=(HttpURLConnection)obj.openConnection();
//添加请求头
con.setRequestMethod(“POST”);
字符串urlParameters=“param1=val1¶m2=val2”;
//发送邮寄请求
con.设置输出(真);
DataOutputStream wr=新的DataOutputStream(con.getOutputStream());
writeBytes(URL参数);
wr.flush();
wr.close();
BufferedReader in=新的BufferedReader(新的InputStreamReader(con.getInputStream());
字符串输入线;
响应=新的StringBuffer();
而((inputLine=in.readLine())!=null){
追加(inputLine);
}
in.close();
//返回结果
Log.i(“TAG”、“sendPost::Response length:”+Response.length());//我无法理解您对症状的描述;也就是说,为什么您认为某些内容被截断了
但是,我可以向您保证,这不是由于String
或StringBuffer
的长度限制造成的
这两个类别确实有限制,但它是2**31
(即>20亿)字符。在缓冲区变大之前,您通常会收到一个OutOfMemoryError
。是否将此方法返回的字符串记录在某个位置?我想logcat可能会限制记录的消息的长度。好的,好主意,我会测试它。ThxThx@Natix,就是这样!请将您的注释作为答案写下来,我选择它作为答案我认为,因为当我显示我的日志时,它只显示3200,并且@Natix的建议已经解决,这是一个“Logcat”限制。