我正在使用以下代码。
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 秒。
请帮忙
最佳答案
我强烈怀疑这是因为网络连接或您正在与之交谈的网络服务器 - 这不是 BufferedReader
的错。尝试测量这个:
InputStream stream = conn.getInputStream();
byte[] buffer = new byte[1000];
// Start timing
while (stream.read(buffer) > 0)
{
}
// End timing
我想您会发现它几乎与解析文本的时间完全相同。
请注意,您还应该为 InputStreamReader
提供适当的编码 - 几乎可以肯定,平台默认编码不是您应该使用的编码。
关于java - 使用 BufferedReader.readLine() 读取 inputStream 太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594725/