Reading HttpURLConnection InputStream - manual buffer or BufferedInputStream?
Posted
by
stormin986
on Stack Overflow
See other posts from Stack Overflow
or by stormin986
Published on 2010-05-08T06:26:58Z
Indexed on
2011/11/14
1:50 UTC
Read the original article
Hit count: 276
When reading the InputStream of an HttpURLConnection, is there any reason to use one of the following over the other? I've seen both used in examples.
Manual Buffer:
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 I'm still new to HTTP in general but one consideration that comes to mind is that if I am using a persistent HTTP connection, I can't just read until the input stream is empty right? In that case, wouldn't I need to read the message length and just read the input stream for that length?
And similarly, if NOT using a persistent connection, is the code I included 100% good to go in terms of reading the stream properly?
© Stack Overflow or respective owner