public abstract class SlicedInputStream extends InputStream
SlicedInputStream
is a logical
concatenation one or more input streams. In contrast to the JDKs
SequenceInputStream
this stream doesn't require the instantiation
of all logical sub-streams ahead of time. Instead, openSlice(long)
is called
if a new slice is required. Each slice is closed once it's been fully consumed or if
close is called before.Modifier | Constructor and Description |
---|---|
protected |
SlicedInputStream(long numSlices)
Creates a new SlicedInputStream
|
Modifier and Type | Method and Description |
---|---|
int |
available() |
void |
close() |
protected abstract InputStream |
openSlice(long slice)
Called for each logical slice given a zero based slice ordinal.
|
int |
read() |
int |
read(byte[] buffer,
int offset,
int length) |
mark, markSupported, read, reset, skip
protected SlicedInputStream(long numSlices)
numSlices
- the number of slices to consumeprotected abstract InputStream openSlice(long slice) throws IOException
IOException
public final int read() throws IOException
read
in class InputStream
IOException
public final int read(byte[] buffer, int offset, int length) throws IOException
read
in class InputStream
IOException
public final void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class InputStream
IOException
public final int available() throws IOException
available
in class InputStream
IOException
Copyright © 2009–2016. All rights reserved.