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 int
available()
return the number of bytes available to be read without blockingvoid
close()
disassociate from the underlying input streamint
peek()
Just like read except byte is not removed from the buffer.int
read()
Read a byte from the input stream, blocking if necessary.int
read(byte[] dest)
Read bytes from the input stream.int
read(byte[] dest, int off, int len)
Read a specified number of bytes from the input stream.void
setContentLength(int value)
set the maximum number of bytes allowed to be read from this input stream.void
setInputStream(java.io.InputStream in)
set the input stream to be used for subsequent readsint
skip(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.IOException
Read a byte from the input stream, blocking if necessary. Internally the data is buffered for efficiency.- Specified by:
read
in classjava.io.InputStream
- Returns:
- the byte read
- Throws:
java.io.IOException
-
read
public int read(byte[] dest) throws java.io.IOException
Read 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:
read
in 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.IOException
Read 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:
read
in 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.IOException
skip 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.IOException
return the number of bytes available to be read without blocking- Overrides:
available
in classjava.io.InputStream
- Returns:
- the number of bytes
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
disassociate from the underlying input stream- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-
peek
public int peek() throws java.io.IOException
Just 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
-
-