【发布时间】:2011-08-01 11:18:25
【问题描述】:
我正在使用以下代码。
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
StringBuilder responseData = new StringBuilder();
while((line = in.readLine()) != null) {
responseData.append(line);
}
但读取 200 行需要超过 12 秒。
请帮忙
【问题讨论】:
-
你有没有想到客户端也可能是慢的?还是网络?
-
什么是
conn?如果您直接阅读InputStream会更快(进入您将丢弃的byte[]吗? -
从读取什么?如果问题与缓冲有关,我会感到惊讶。你是通过网络阅读吗?例如,您是否从最后一行没有行终止符的网络连接获取数据,以便
readLine坐在那里等待它可以识别为行尾的东西?还是来自真正缓慢发送数据的东西? -
问题出在while循环中。我测量了时间
-
你不认为读取过程不能比写入过程快的想法值得考虑吗?您测量了时间 - 当然,但您似乎无法解释您的测量结果。就像我测量了一辆红色汽车的速度,然后坚持认为是红色让它跑得那么快。