public interface Input
CryptoInputStream
so that different implementation of input can
be used. The implementation Input interface will usually wraps an input
mechanism such as InputStream
or
ReadableByteChannel
.?????? | ????? |
---|---|
int |
available()
Returns an estimate of the number of bytes that can be read (or skipped
over) from this input without blocking by the next invocation of a method
for this input stream.
|
void |
close()
Closes this input and releases any system resources associated with the
under layer input.
|
int |
read(ByteBuffer dst)
Reads a sequence of bytes from input into the given buffer.
|
int |
read(long position,
byte[] buffer,
int offset,
int length)
Reads up to the specified number of bytes from a given position within a
stream and return the number of bytes read.
|
void |
seek(long position)
Seeks to the given offset from the start of the stream.
|
long |
skip(long n)
Skips over and discards
n bytes of data from this input The
skip method may, for a variety of reasons, end up skipping
over some smaller number of bytes, possibly 0 . |
int read(ByteBuffer dst) throws IOException
An attempt is made to read up to r bytes from the input, where r is the number of bytes remaining in the buffer, that is, dst.remaining(), at the moment this method is invoked.
Suppose that a byte sequence of length n is read, where 0 <= n <= r. This byte sequence will be transferred into the buffer so that the first byte in the sequence is at index p and the last byte is at index p + n - 1, where p is the buffer's position at the moment this method is invoked. Upon return the buffer's position will be equal to p + n; its limit will not have changed.
dst
- The buffer into which bytes are to be transferred.-1
if there is no more data because the end of the
stream has been reached.IOException
- If some other I/O error occurs.long skip(long n) throws IOException
n
bytes of data from this input The
skip
method may, for a variety of reasons, end up skipping
over some smaller number of bytes, possibly 0
. This may
result from any of a number of conditions; reaching end of file before
n
bytes have been skipped is only one possibility. The
actual number of bytes skipped is returned. If n
is
negative, no bytes are skipped.
The skip
method of this class creates a byte array and then
repeatedly reads into it until n
bytes have been read or the
end of the stream has been reached. Subclasses are encouraged to provide
a more efficient implementation of this method. For instance, the
implementation may depend on the ability to seek.
n
- the number of bytes to be skipped.IOException
- if the stream does not support seek, or if some
other I/O error occurs.int available() throws IOException
It is never correct to use the return value of this method to allocate a buffer intended to hold all data in this stream.
0
when
it reaches the end of the input stream.IOException
- if an I/O error occurs.int read(long position, byte[] buffer, int offset, int length) throws IOException
position
- the given position within a stream.buffer
- the buffer into which the data is read.offset
- the start offset in array buffer.length
- the maximum number of bytes to read.-1
if there is no more data because the end of the
stream has been reached.IOException
- if an I/O error occurs.void seek(long position) throws IOException
position
- the offset from the start of the stream.IOException
- if an I/O error occurs.void close() throws IOException
IOException
- if an I/O error occurs.Copyright © 2016 The Apache Software Foundation. All rights reserved.