Jos*_*hin 8 android httpwebrequest
我有以下代码来读取网址的内容
public static String DownloadText(String url){
StringBuffer result = new StringBuffer();
try{
URL jsonUrl = new URL(url);
InputStreamReader isr = new InputStreamReader(jsonUrl.openStream());
BufferedReader in = new BufferedReader(isr);
String inputLine;
while ((inputLine = in.readLine()) != null){
result.append(inputLine);
}
}catch(Exception ex){
result = new StringBuffer("TIMEOUT");
Log.e(Util.AppName, ex.toString());
}
in.close();
isr.close();
return result.toString();
}
Run Code Online (Sandbox Code Playgroud)
问题是我返回结果中的4065个字符后缺少内容.有人可以帮我解决这个问题.
注意:我试图读取的URL包含一个json响应所以一切都在一行中我认为这就是为什么我缺少一些内容.
lbe*_*gni 10
试试这个:
try {
feedUrl = new URL(url).openConnection();
} catch (MalformedURLException e) {
Log.v("ERROR","MALFORMED URL EXCEPTION");
} catch (IOException e) {
e.printStackTrace();
}
try {
in = feedUrl.getInputStream();
json = convertStreamToString(in);
}catch(Exception e){}
Run Code Online (Sandbox Code Playgroud)
而convertStreamToString是:
private static String convertStreamToString(InputStream is) throws UnsupportedEncodingException {
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17347 次 |
| 最近记录: |