解决 bufferedinputstream 转换速度低的问题
为了提升 bufferedinputstream 的转换速度,需要解决以下几个问题:
p 请求连接未复用。建议使用 okhttp 等库复用连接。解决方案:
方案 1:原始流复制
优化原始代码的复制流方法,使用更大的缓冲区来提高效率。
while ((len = bis.read(buffer)) != -1) {
out.write(buffer, 0, len);
out.flush();
}方案 2:使用流复制工具类
使用三方库中的流复制工具类,简化代码并提高效率。
ioutil.copy(bis, out);
方案 3:使用 nio 非阻塞传输
使用 nio 非阻塞传输,可以实现更快的流传输。
while (in.read(byteBuffer) != -1) {
// 写转读
byteBuffer.flip();
out.write(byteBuffer);
byteBuffer.clear();
}