HttpURLConnection の InputStream を読み取るとき、次のいずれかを使用する理由はありますか? 例で両方が使用されているのを見てきました。
手動バッファ:
while ((length = inputStream.read(buffer)) > 0) {
os.write(buf, 0, ret);
}
BufferedInputStream
is = http.getInputStream();
bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append(current);
}
EDIT私はまだ一般的にHTTPに不慣れですが、頭に浮かぶ1つの考慮事項は、永続的なHTTP接続を使用している場合、入力ストリームが空になるまで読み取ることができないということですよね? その場合、メッセージの長さを読み取って、その長さの入力ストリームを読み取る必要はありませんか?
同様に、永続的な接続を使用していない場合、ストリームを適切に読み取るという点で、私が含めたコードは 100% 適切ですか?