Package com.twelvemonkeys.io
Class SubStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.twelvemonkeys.io.SubStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class SubStream extends java.io.FilterInputStreamAnInputStreamreading up to a specified number of bytes from an underlying stream.
-
-
Constructor Summary
Constructors Constructor Description SubStream(java.io.InputStream stream, long length)Creates aSubStreamof the givenstream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidclose()Marks this stream as closed.private longfindMaxLen(long length)Finds the maximum number of bytes we can read or skip, from this stream.voidmark(int readLimit)intread()intread(byte[] bytes)intread(byte[] bytes, int off, int len)voidreset()longskip(long length)
-
-
-
Method Detail
-
close
public void close() throws java.io.IOExceptionMarks this stream as closed. This implementation does not close the underlying stream.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.FilterInputStream- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOException- Overrides:
availablein classjava.io.FilterInputStream- Throws:
java.io.IOException
-
mark
public void mark(int readLimit)
- Overrides:
markin classjava.io.FilterInputStream
-
reset
public void reset() throws java.io.IOException- Overrides:
resetin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] bytes) throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] bytes, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
skip
public long skip(long length) throws java.io.IOException- Overrides:
skipin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
findMaxLen
private long findMaxLen(long length)
Finds the maximum number of bytes we can read or skip, from this stream.- Parameters:
length- the requested length- Returns:
- the maximum number of bytes to read
-
-