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.FilterInputStream
AnInputStream
reading up to a specified number of bytes from an underlying stream.
-
-
Constructor Summary
Constructors Constructor Description SubStream(java.io.InputStream stream, long length)
Creates aSubStream
of the givenstream
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
void
close()
Marks this stream as closed.private long
findMaxLen(long length)
Finds the maximum number of bytes we can read or skip, from this stream.void
mark(int readLimit)
int
read()
int
read(byte[] bytes)
int
read(byte[] bytes, int off, int len)
void
reset()
long
skip(long length)
-
-
-
Method Detail
-
close
public void close() throws java.io.IOException
Marks this stream as closed. This implementation does not close the underlying stream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOException
- Overrides:
available
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
mark
public void mark(int readLimit)
- Overrides:
mark
in classjava.io.FilterInputStream
-
reset
public void reset() throws java.io.IOException
- Overrides:
reset
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] bytes) throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] bytes, int off, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
skip
public long skip(long length) throws java.io.IOException
- Overrides:
skip
in 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
-
-