Class PaddedInputByteStream

java.lang.Object
com.adobe.internal.io.stream.InputByteStreamImpl
com.adobe.internal.io.stream.PaddedInputByteStream
All Implemented Interfaces:
InputByteStream

public class PaddedInputByteStream extends InputByteStreamImpl
Only for internal engineering use. This api can change without notice. This class provides access to a seekable input stream with support of padding without allocating any extra memory. This class's object wraps inside it an InputByteStream. It extends the InputByteStreamImpl abstract class.
  • Field Summary

    Fields inherited from interface com.adobe.internal.io.stream.InputByteStream

    EOF
  • Constructor Summary

    Constructors
    Constructor
    Description
    PaddedInputByteStream(InputByteStream ibs, int paddedChar, long padLength)
    constructor with InputByteStream, character to be padded and padding length as parameters.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes this InputByteStream and releases any system resources associated with the stream.
    long
    Get the current position.
    long
    The maximum number of bytes that can be read from this InputByteStream.
    int
    Read the byte at the current position.
    int
    read(byte[] bytes, int position, int length)
    Read an array of bytes starting at the current position.
    seek(long position)
    Set the current position in the underlying data.
    slice(long begin, long length)
    Create a new InputByteStream that provides another view on the underlying data.

    Methods inherited from class com.adobe.internal.io.stream.InputByteStreamImpl

    bytesAvailable, eof, read, slice, toInputStream, toString, unget

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • PaddedInputByteStream

      public PaddedInputByteStream(InputByteStream ibs, int paddedChar, long padLength)
      constructor with InputByteStream, character to be padded and padding length as parameters.
      Parameters:
      ibs -
      paddedChar -
      padLength -
  • Method Details

    • close

      public void close() throws IOException
      Closes this InputByteStream and releases any system resources associated with the stream. After this method is called then any further calls to this instance are errors.
      Specified by:
      close in interface InputByteStream
      Specified by:
      close in class InputByteStreamImpl
      Throws:
      IOException
    • getPosition

      public long getPosition() throws IOException
      Get the current position.
      Specified by:
      getPosition in interface InputByteStream
      Specified by:
      getPosition in class InputByteStreamImpl
      Returns:
      The current position.
      Throws:
      IOException
    • length

      public long length() throws IOException
      The maximum number of bytes that can be read from this InputByteStream.
      Specified by:
      length in interface InputByteStream
      Specified by:
      length in class InputByteStreamImpl
      Returns:
      Total number of bytes available in this InputByteStream.
      Throws:
      IOException
    • read

      public int read() throws IOException
      Read the byte at the current position. If the current position is at or beyond the end of the underlying data return a -1. If not beyond the end of the underlying data the current position is incremented by 1.
      Specified by:
      read in interface InputByteStream
      Specified by:
      read in class InputByteStreamImpl
      Returns:
      The byte at the current position or -1 if at or beyond EOF.
      Throws:
      IOException
    • read

      public int read(byte[] bytes, int position, int length) throws IOException
      Read an array of bytes starting at the current position. The position is incremented by the length of the array that has been read.
      Specified by:
      read in interface InputByteStream
      Specified by:
      read in class InputByteStreamImpl
      Parameters:
      bytes - The destination array.
      position - The offset in the byte array to put the first byte read.
      length - The number of bytes to read.
      Throws:
      IOException
    • seek

      public InputByteStream seek(long position) throws IOException
      Set the current position in the underlying data. This position is pegged to be no less than zero and no greater than the length of the InputByteStream.
      Specified by:
      seek in interface InputByteStream
      Specified by:
      seek in class InputByteStreamImpl
      Parameters:
      position - Where to set the current position.
      Returns:
      This object.
      Throws:
      IOException
    • slice

      public InputByteStream slice(long begin, long length) throws IOException
      Create a new InputByteStream that provides another view on the underlying data. This new InputByteStream is completely independent and can be read from and positioned without affecting the original or any other slice InputByteStream objects. The initial position of the slice is at zero - the beginning of the slice.
      Specified by:
      slice in interface InputByteStream
      Specified by:
      slice in class InputByteStreamImpl
      Parameters:
      begin - Offset within the current InputByteStream to start the slice.
      length - The length of the slice.
      Returns:
      A slice of the original InputByteStream.
      Throws:
      IOException