Package org.tukaani.xz
Class SeekableInputStream
java.lang.Object
java.io.InputStream
org.tukaani.xz.SeekableInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
SeekableFileInputStream
,SeekableXZInputStream
public abstract class SeekableInputStream extends InputStream
Input stream with random access support.
-
Constructor Summary
Constructors Constructor Description SeekableInputStream()
-
Method Summary
Methods inherited from class java.io.InputStream
available, close, mark, markSupported, nullInputStream, read, read, read, readAllBytes, readNBytes, readNBytes, reset, skipNBytes, transferTo
-
Constructor Details
-
SeekableInputStream
public SeekableInputStream()
-
-
Method Details
-
skip
Seeksn
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 skippingn
bytes would cause the position to exceed the stream size, this will do equivalent ofseek(length())
and the return value will be adjusted accordingly.If
n
is negative, the position isn't changed and the return value is0
. It doesn't seek backward because it would conflict with the specification ofInputStream.skip
.- Overrides:
skip
in classInputStream
- Returns:
0
ifn
is negative, less thann
if skippingn
bytes would seek past the end of the file,n
otherwise- Throws:
IOException
- might be thrown byseek(long)
-
length
Gets the size of the stream.- Throws:
IOException
-
position
Gets the current position in the stream.- Throws:
IOException
-
seek
Seeks to the specified absolute position in the stream.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.- Parameters:
pos
- new read position in the stream- Throws:
IOException
- ifpos
is negative or if a stream-specific I/O error occurs
-