public class InputStreamRangeWriter extends java.lang.Object implements RangeWriter
Modifier and Type | Class and Description |
---|---|
static interface |
InputStreamRangeWriter.InputStreamSupplier |
Modifier and Type | Field and Description |
---|---|
private boolean |
closed |
private java.io.InputStream |
inputStream |
private InputStreamRangeWriter.InputStreamSupplier |
inputStreamSupplier |
static int |
NO_PROGRESS_LIMIT |
private long |
pos |
Constructor and Description |
---|
InputStreamRangeWriter(InputStreamRangeWriter.InputStreamSupplier inputStreamSupplier)
Create InputStremRangeWriter
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
writeTo(java.io.OutputStream outputStream,
long skipTo,
long length)
Write the specific range (start, size) to the outputStream.
|
public static final int NO_PROGRESS_LIMIT
private final InputStreamRangeWriter.InputStreamSupplier inputStreamSupplier
private boolean closed
private java.io.InputStream inputStream
private long pos
public InputStreamRangeWriter(InputStreamRangeWriter.InputStreamSupplier inputStreamSupplier)
inputStreamSupplier
- Supplier of the InputStream. If the stream needs to be regenerated, such as the next
requested range being before the current position, then the current InputStream is closed and a new one obtained
from this supplier.public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
java.io.IOException
public void writeTo(java.io.OutputStream outputStream, long skipTo, long length) throws java.io.IOException
RangeWriter
writeTo
in interface RangeWriter
outputStream
- the stream to write toskipTo
- the offset / skip-to / seek-to / position in the resource to start the write fromlength
- the size of the section to writejava.io.IOException