| java.lang.Object java.io.InputStream java.io.FilterInputStream sunlabs.brazil.util.http.HttpInputStream
HttpInputStream | public class HttpInputStream extends FilterInputStream (Code) | | This class is an input stream that provides added methods that are
of help when reading the result of an HTTP request. By setting up
this input stream, the user can conveniently read lines of text and
copy the contents of an input stream to an output stream.
The underlying assumption of this class is that when reading the result
of an HTTP request, each byte in the input stream represents an 8-bit
ASCII character, and as such, it is perfectly valid to treat each byte
as a character. Locale-based conversion is not appropriate in this
circumstance, so the java.io.BufferedReader.readLine method
should not be used.
author: Colin Stevens (colin.stevens@sun.com) version: 1.7, 00/03/29 |
Field Summary | |
public static int | defaultBufsize The default size of the temporary buffer used when copying from an
input stream to an output stream. |
Constructor Summary | |
public | HttpInputStream(InputStream in) Creates a new HttpInputStream that reads its input from the
specified input stream. |
Method Summary | |
public int | copyTo(OutputStream out) Copies bytes from this input stream to the specified output stream
until end of the input stream is reached.
Parameters: out - The output stream to copy the data to. The number of bytes copied to the output stream. throws: IOException - if the underlying input stream throws anIOException while being read or if the output streamthrows an IOException while being written. | public int | copyTo(OutputStream out, int len) Copies bytes from this input stream to the specified output stream
until the specified number of bytes are copied or the end of the
input stream is reached.
Parameters: out - The output stream to copy the data to. Parameters: len - The number of bytes to copy, or < 0 to copy until the endof this stream. The number of bytes copied to the output stream. throws: IOException - if the underlying input stream throws anIOException while being read or if the output streamthrows an IOException while being written. | public int | copyTo(OutputStream out, int len, byte[] buf) Copies bytes from this input stream to the specified output stream
until the specified number of bytes are copied or the end of the
input stream is reached.
Parameters: out - The output stream to copy the data to. Parameters: len - The number of bytes to copy, or < 0 to copy until the endof this stream. Parameters: buf - The buffer used to for holding the temporary results whilecopying data from this input stream to the output stream.May be null to allow this method copy inchunks of length defaultBufsize . The number of bytes copied to the output stream. throws: IOException - if the underlying input stream throws anIOException while being read or if the output streamthrows an IOException while being written. | public int | readFully(byte[] buf) Reads buf.length bytes from the input stream. | public int | readFully(byte[] buf, int off, int len) Reads the specified number of bytes from the input stream. | public String | readLine() Reads the next line of text from the input stream.
A line is terminated by "\r", "\n", "\r\n", or the end of the input
stream. | public String | readLine(int limit) Reads the next line of text from the input stream, up to the
limit specified.
A line is terminated by "\r", "\n", "\r\n", the end of the input
stream, or when the specified number of characters have been read.
The line-terminating characters are discarded. |
HttpInputStream | public HttpInputStream(InputStream in)(Code) | | Creates a new HttpInputStream that reads its input from the
specified input stream.
Parameters: in - The underlying input stream. |
copyTo | public int copyTo(OutputStream out) throws IOException(Code) | | Copies bytes from this input stream to the specified output stream
until end of the input stream is reached.
Parameters: out - The output stream to copy the data to. The number of bytes copied to the output stream. throws: IOException - if the underlying input stream throws anIOException while being read or if the output streamthrows an IOException while being written. It may not bepossible to distinguish amongst the two conditions. |
copyTo | public int copyTo(OutputStream out, int len) throws IOException(Code) | | Copies bytes from this input stream to the specified output stream
until the specified number of bytes are copied or the end of the
input stream is reached.
Parameters: out - The output stream to copy the data to. Parameters: len - The number of bytes to copy, or < 0 to copy until the endof this stream. The number of bytes copied to the output stream. throws: IOException - if the underlying input stream throws anIOException while being read or if the output streamthrows an IOException while being written. It may not bepossible to distinguish amongst the two conditions. |
copyTo | public int copyTo(OutputStream out, int len, byte[] buf) throws IOException(Code) | | Copies bytes from this input stream to the specified output stream
until the specified number of bytes are copied or the end of the
input stream is reached.
Parameters: out - The output stream to copy the data to. Parameters: len - The number of bytes to copy, or < 0 to copy until the endof this stream. Parameters: buf - The buffer used to for holding the temporary results whilecopying data from this input stream to the output stream.May be null to allow this method copy inchunks of length defaultBufsize . The number of bytes copied to the output stream. throws: IOException - if the underlying input stream throws anIOException while being read or if the output streamthrows an IOException while being written. It may not bepossible to distinguish amongst the two conditions. |
readFully | public int readFully(byte[] buf) throws IOException(Code) | | Reads buf.length bytes from the input stream. This
method reads repeatedly from the input stream until the specified
number of bytes have been read or the end of the input stream
is reached.
The standard InputStream.read method will generally
return less than the specified number of bytes if the underlying
input stream is "bursty", such as from a network source. Sometimes
it is important to read the exact number of bytes desired.
Parameters: buf - Buffer in which the data is stored. If buffer is oflength 0, this method will return immediately. The number of bytes read. This will be less thanbuf.length if the end of the input stream wasreached. throws: IOException - if the underlying input stream throws anIOException while being read. |
readFully | public int readFully(byte[] buf, int off, int len) throws IOException(Code) | | Reads the specified number of bytes from the input stream. This
method reads repeatedly from the input stream until the specified
number of bytes have been read or the end of the input stream is
reached.
The standard InputStream.read method will generally
return less than the specified number of bytes if the underlying
input stream is "bursty", such as from a network source. Sometimes
it is important to read the exact number of bytes desired.
Parameters: buf - Buffer in which the data is stored. Parameters: off - The starting offset into the buffer. Parameters: len - The number of bytes to read. The number of bytes read. This will be less thanlen if the end of the input stream was reached. throws: IOException - if the underlying input stream throws anIOException while being read. |
readLine | public String readLine() throws IOException(Code) | | Reads the next line of text from the input stream.
A line is terminated by "\r", "\n", "\r\n", or the end of the input
stream. The line-terminating characters are discarded.
The next line from the input stream, or null if the end of the input stream is reached and no byteswere found. throws: IOException - if the underlying input stream throws anIOException while being read. |
readLine | public String readLine(int limit) throws IOException(Code) | | Reads the next line of text from the input stream, up to the
limit specified.
A line is terminated by "\r", "\n", "\r\n", the end of the input
stream, or when the specified number of characters have been read.
The line-terminating characters are discarded. It is not possible
to distinguish, based on the result, between a line that was
exactly limit characters long and a line that was
terminated because limit characters were read.
The next line from the input stream, or null if the end of the input stream is reached and no byteswere found. throws: IOException - if the underlying input stream throws anIOException while being read. |
|
|