public interface Input extends Closeable
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.| Modifier and Type | Method and Description |
|---|---|
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 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.void close() throws IOException
close in interface AutoCloseableclose in interface CloseableIOException - if an I/O error occurs.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.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.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.Copyright © 2016–2022 The Apache Software Foundation. All rights reserved.