我正在尝试从服务器解析XML代码以在Android中使用。 URL工作正常,直到SB我得到了XML。将String转换为InputStream时,我在logcat中得到这个:java.io.ByteArrayInputStream@9e7122d 任何帮助? 谢谢!
private InputStream downloadUrl(String urlString) throws IOException {
BufferedReader reader = null;
try {
URL url = new URL(urlString);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(60000);
con.setReadTimeout(60000);
StringBuilder sb = new StringBuilder();
reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
InputStream stream = IOUtils.toInputStream(sb, "UTF-8");
Log.d(TAG, "SB " + sb);
Log.d(TAG, "STREAM" + stream);
return stream;
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
}
答案 0 :(得分:0)
这里没有问题需要解决。 \t
就是ByteArrayInputStream@9e7122d
返回的内容。
但你为什么要这样做?将整个URL加载到内存中会增加延迟并浪费空间,并且不会超出特定大小。没有任何好处。只需返回ByteArrayInputStream.toString()