public abstract class SeekableInputStream extends InputStream
| Constructor and Description |
|---|
SeekableInputStream() |
| Modifier and Type | Method and Description |
|---|---|
abstract long |
length()
Gets the size of the stream.
|
abstract long |
position()
Gets the current position in the stream.
|
abstract void |
seek(long pos)
Seeks to the specified absolute position in the stream.
|
long |
skip(long n)
Seeks
n bytes forward in this stream. |
available, close, mark, markSupported, read, read, read, resetpublic long skip(long n)
throws IOException
n bytes forward in this stream.
This will not seek past the end of the file. If the current position
is already at or past the end of the file, this doesn't seek at all
and returns 0. Otherwise, if skipping n bytes
would cause the position to exceed the stream size, this will do
equivalent of seek(length()) and the return value will
be adjusted accordingly.
If n is negative, the position isn't changed and
the return value is 0. It doesn't seek backward
because it would conflict with the specification of
InputStream.skip.
skip in class InputStream0 if n is negative,
less than n if skipping n
bytes would seek past the end of the file,
n otherwiseIOException - might be thrown by seek(long)public abstract long length()
throws IOException
IOExceptionpublic abstract long position()
throws IOException
IOExceptionpublic abstract void seek(long pos)
throws IOException
Seeking past the end of the file should be supported by the subclasses
unless there is a good reason to do otherwise. If one has seeked
past the end of the stream, read will return
-1 to indicate end of stream.
pos - new read position in the streamIOException - if pos is negative or if
a stream-specific I/O error occursCopyright © 2016 Internet2. All rights reserved.