java.lang.Object
java.io.InputStream
org.apache.derby.impl.store.raw.data.ByteHolderInputStream
org.apache.derby.impl.store.raw.data.BufferedByteHolderInputStream
- All Implemented Interfaces:
- java.io.Closeable
- Direct Known Subclasses:
- DecryptInputStream, OverflowInputStream
- public abstract class BufferedByteHolderInputStream
- extends ByteHolderInputStream
|
Method Summary |
int |
available()
This method returns the number of bytes that can be read from this
stream before a read can block. |
abstract void |
fillByteHolder()
|
int |
read()
This method reads an unsigned byte from the input stream and returns it
as an int in the range of 0-255. |
int |
read(byte[] b,
int off,
int len)
This method read bytes from a stream and stores them into a
caller supplied buffer. |
long |
skip(long count)
This method skips the specified number of bytes in the stream. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BufferedByteHolderInputStream
public BufferedByteHolderInputStream(ByteHolder bh)
fillByteHolder
public abstract void fillByteHolder()
throws java.io.IOException
read
public int read()
throws java.io.IOException
- Description copied from class:
java.io.InputStream
- This method reads an unsigned byte from the input stream and returns it
as an int in the range of 0-255. This method also will return -1 if
the end of the stream has been reached.
This method will block until the byte can be read.
- Overrides:
read in class ByteHolderInputStream
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Description copied from class:
java.io.InputStream
- This method read bytes from a stream and stores them into a
caller supplied buffer. It starts storing the data at index
off into the buffer and attempts to read
len bytes. This method can return before reading the
number of bytes requested. The actual number of bytes read is
returned as an int. A -1 is returned to indicate the end of the
stream.
This method will block until some data can be read.
This method operates by calling the single byte read() method
in a loop until the desired number of bytes are read. The read loop
stops short if the end of the stream is encountered or if an IOException
is encountered on any read operation except the first. If the first
attempt to read a bytes fails, the IOException is allowed to propagate
upward. And subsequent IOException is caught and treated identically
to an end of stream condition. Subclasses can (and should if possible)
override this method to provide a more efficient implementation.
- Overrides:
read in class ByteHolderInputStream
skip
public long skip(long count)
throws java.io.IOException
- Description copied from class:
java.io.InputStream
- This method skips the specified number of bytes in the stream. It
returns the actual number of bytes skipped, which may be less than the
requested amount.
This method reads and discards bytes into a byte array until the
specified number of bytes were skipped or until either the end of stream
is reached or a read attempt returns a short count. Subclasses can
override this metho to provide a more efficient implementation where
one exists.
- Overrides:
skip in class ByteHolderInputStream
available
public int available()
throws java.io.IOException
- Description copied from class:
java.io.InputStream
- This method returns the number of bytes that can be read from this
stream before a read can block. A return of 0 indicates that blocking
might (or might not) occur on the very next read attempt.
This method always returns 0 in this class
- Overrides:
available in class ByteHolderInputStream