Package htsjdk.samtools.seekablestream
Class SeekableBufferedStream
- java.lang.Object
-
- java.io.InputStream
-
- htsjdk.samtools.seekablestream.SeekableStream
-
- htsjdk.samtools.seekablestream.SeekableBufferedStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class SeekableBufferedStream extends SeekableStream
A wrapper class to provide buffered read access to a SeekableStream. Just wrapping such a stream with a BufferedInputStream will not work as it does not support seeking. In this implementation a seek call is delegated to the wrapped stream, and the buffer reset.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_BUFFER_SIZE-
Fields inherited from class htsjdk.samtools.seekablestream.SeekableStream
mark
-
-
Constructor Summary
Constructors Constructor Description SeekableBufferedStream(SeekableStream stream)SeekableBufferedStream(SeekableStream stream, int bufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleaneof()StringgetSource()longlength()longposition()intread()intread(byte[] buffer, int offset, int length)voidseek(long position)Seeks the stream to the provided position.longskip(long skipLength)-
Methods inherited from class htsjdk.samtools.seekablestream.SeekableStream
available, mark, markSupported, readFully, reset
-
Methods inherited from class java.io.InputStream
nullInputStream, read, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Field Detail
-
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SeekableBufferedStream
public SeekableBufferedStream(SeekableStream stream, int bufferSize)
-
SeekableBufferedStream
public SeekableBufferedStream(SeekableStream stream)
-
-
Method Detail
-
length
public long length()
- Specified by:
lengthin classSeekableStream- Returns:
- the length of the stream; 0 if not available or empty.
-
skip
public long skip(long skipLength) throws IOException- Overrides:
skipin classInputStream- Throws:
IOException
-
seek
public void seek(long position) throws IOExceptionDescription copied from class:SeekableStreamSeeks the stream to the provided position.- Specified by:
seekin classSeekableStream- Throws:
IOException
-
read
public int read() throws IOException- Specified by:
readin classInputStream- Throws:
IOException
-
read
public int read(byte[] buffer, int offset, int length) throws IOException- Specified by:
readin classSeekableStream- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classSeekableStream- Throws:
IOException
-
eof
public boolean eof() throws IOException- Specified by:
eofin classSeekableStream- Returns:
trueif the stream is already consumed;falseotherwise.- Throws:
IOException
-
getSource
public String getSource()
- Specified by:
getSourcein classSeekableStream- Returns:
- String representation of source (e.g. URL, file path, etc.), or null if not available.
-
position
public long position() throws IOException- Specified by:
positionin classSeekableStream- Returns:
- the current byte position of the stream.
- Throws:
IOException
-
-