Class InputStreamRangeWriter

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, RangeWriter

    public class InputStreamRangeWriter
    extends java.lang.Object
    implements RangeWriter
    Default Range Writer for InputStream
    • Constructor Detail

      • InputStreamRangeWriter

        public InputStreamRangeWriter​(InputStreamRangeWriter.InputStreamSupplier inputStreamSupplier)
        Create InputStremRangeWriter
        Parameters:
        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.
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • writeTo

        public void writeTo​(java.io.OutputStream outputStream,
                            long skipTo,
                            long length)
                     throws java.io.IOException
        Description copied from interface: RangeWriter
        Write the specific range (start, size) to the outputStream.
        Specified by:
        writeTo in interface RangeWriter
        Parameters:
        outputStream - the stream to write to
        skipTo - the offset / skip-to / seek-to / position in the resource to start the write from
        length - the size of the section to write
        Throws:
        java.io.IOException