【发布时间】:2011-01-30 07:53:15
【问题描述】:
我正在为我正在制作的 android 应用程序向网站发出 HTTP 获取请求。
我正在使用 DefaultHttpClient 并使用 HttpGet 发出请求。我得到实体响应,并从中获得一个 InputStream 对象,用于获取页面的 html。
然后我按如下方式循环浏览回复:
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
String x = "";
x = r.readLine();
String total = "";
while(x!= null){
total += x;
x = r.readLine();
}
但是这速度非常慢。
这是低效的吗?我没有加载大网页 - www.cokezone.co.uk 所以文件大小不大。有没有更好的方法来做到这一点?
谢谢
安迪
【问题讨论】:
-
除非您实际上是在解析这些行,否则逐行阅读没有多大意义。我宁愿通过固定大小的缓冲区逐个字符地读取:gist.github.com/fkirc/a231c817d582e114e791b77bb33e30e9
标签: java android input stream bufferedreader