Package org.apache.axis.transport.http
Class NonBlockingBufferedInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.axis.transport.http.NonBlockingBufferedInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class NonBlockingBufferedInputStream extends java.io.InputStream
-
-
Constructor Summary
Constructors Constructor Description NonBlockingBufferedInputStream()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()return the number of bytes available to be read without blockingvoidclose()disassociate from the underlying input streamintpeek()Just like read except byte is not removed from the buffer.intread()Read a byte from the input stream, blocking if necessary.intread(byte[] dest)Read bytes from the input stream.intread(byte[] dest, int off, int len)Read a specified number of bytes from the input stream.voidsetContentLength(int value)set the maximum number of bytes allowed to be read from this input stream.voidsetInputStream(java.io.InputStream in)set the input stream to be used for subsequent readsintskip(int len)skip over (and discard) a specified number of bytes in this input stream
-
-
-
Method Detail
-
setInputStream
public void setInputStream(java.io.InputStream in)
set the input stream to be used for subsequent reads- Parameters:
in- the InputStream
-
setContentLength
public void setContentLength(int value)
set the maximum number of bytes allowed to be read from this input stream.- Parameters:
value- the Content Length
-
read
public int read() throws java.io.IOExceptionRead a byte from the input stream, blocking if necessary. Internally the data is buffered for efficiency.- Specified by:
readin classjava.io.InputStream- Returns:
- the byte read
- Throws:
java.io.IOException
-
read
public int read(byte[] dest) throws java.io.IOExceptionRead bytes from the input stream. This is guaranteed to return at least one byte or throw an exception. When possible, it will return more bytes, up to the length of the array, as long as doing so would not require waiting on bytes from the input stream.- Overrides:
readin classjava.io.InputStream- Parameters:
dest- byte array to read into- Returns:
- the number of bytes actually read
- Throws:
java.io.IOException
-
read
public int read(byte[] dest, int off, int len) throws java.io.IOExceptionRead a specified number of bytes from the input stream. This is guaranteed to return at least one byte or throw an execption. When possible, it will return more bytes, up to the length specified, as long as doing so would not require waiting on bytes from the input stream.- Overrides:
readin classjava.io.InputStream- Parameters:
dest- byte array to read intooff- starting offset into the byte arraylen- maximum number of bytes to read- Returns:
- the number of bytes actually read
- Throws:
java.io.IOException
-
skip
public int skip(int len) throws java.io.IOExceptionskip over (and discard) a specified number of bytes in this input stream- Parameters:
len- the number of bytes to be skipped- Returns:
- the action number of bytes skipped
- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOExceptionreturn the number of bytes available to be read without blocking- Overrides:
availablein classjava.io.InputStream- Returns:
- the number of bytes
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOExceptiondisassociate from the underlying input stream- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException
-
peek
public int peek() throws java.io.IOExceptionJust like read except byte is not removed from the buffer. the data is buffered for efficiency. Was added to support multiline http headers. ;-)- Returns:
- the byte read
- Throws:
java.io.IOException
-
-