如題,我從遠程獲得的數據量比較多,比較大,這條請求中的數據量達到了300多K,然後導致流while循環內部知道是因為奪取的數據量過大而卡死,還是因為數據量過大而導致緩慢的讀取,請各位有經驗的大俠幫幫忙String result="";
try{
HttpClient httpclient = new DefaultHttpClient(); //創建一個http客戶對象
HttpPost httppost = new HttpPost(appurl+methodAndValues); //設置提交方式為post并設置請求路徑,appurl+methodAndValues這個是發送地址
HttpResponse response = httpclient.execute(httppost);//獲得http客戶對象返回的信息
HttpEntity entity = response.getEntity(); //獲得請求回來的實體對象
InputStream is = entity.getContent(); //把實體對象轉換成流
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"),8);//設置流的讀取方式
StringBuilder sb = new StringBuilder();
String line = null;
//把流上的信息加入到stringbuilder
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
JSONArray jArray = new JSONArray(result); //把字符串轉換成jsonarray格式
return jArray;
try{
HttpClient httpclient = new DefaultHttpClient(); //創建一個http客戶對象
HttpPost httppost = new HttpPost(appurl+methodAndValues); //設置提交方式為post并設置請求路徑,appurl+methodAndValues這個是發送地址
HttpResponse response = httpclient.execute(httppost);//獲得http客戶對象返回的信息
HttpEntity entity = response.getEntity(); //獲得請求回來的實體對象
InputStream is = entity.getContent(); //把實體對象轉換成流
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"),8);//設置流的讀取方式
StringBuilder sb = new StringBuilder();
String line = null;
//把流上的信息加入到stringbuilder
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
JSONArray jArray = new JSONArray(result); //把字符串轉換成jsonarray格式
return jArray;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货