在读取HttpURLConnection的InputStream时,是否有任何理由使用以下哪一个而不是另一个?我见过两个例子都用过.
手动缓冲:
while ((length = inputStream.read(buffer)) > 0) {
os.write(buf, 0, ret);
}
Run Code Online (Sandbox Code Playgroud)
的BufferedInputStream
is = http.getInputStream();
bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append(current);
}
Run Code Online (Sandbox Code Playgroud)
编辑我一般都是HTTP的新手,但我想到的一个考虑因素是,如果我使用持久的HTTP连接,我不能只读到输入流是空的吗?在这种情况下,我不需要读取消息长度并只读取该长度的输入流吗?
同样,如果不使用持久连接,那么我所包含的代码在正确读取流方面是否100%好?