Class DelegatingSeekableInputStream

    • Constructor Detail

      • DelegatingSeekableInputStream

        public DelegatingSeekableInputStream​(InputStream stream)
    • Method Detail

      • getPos

        public abstract long getPos()
                             throws IOException
        Description copied from class: SeekableInputStream
        Return the current position in the InputStream.
        Specified by:
        getPos in class SeekableInputStream
        Returns:
        current position in bytes from the start of the stream
        Throws:
        IOException - If the underlying stream throws IOException
      • seek

        public abstract void seek​(long newPos)
                           throws IOException
        Description copied from class: SeekableInputStream
        Seek to a new position in the InputStream.
        Specified by:
        seek in class SeekableInputStream
        Parameters:
        newPos - the new position to seek to
        Throws:
        IOException - If the underlying stream throws IOException
      • readFully

        public void readFully​(byte[] bytes)
                       throws IOException
        Description copied from class: SeekableInputStream
        Read a byte array of data, from position 0 to the end of the array.

        This method is equivalent to read(bytes, 0, bytes.length).

        This method will block until len bytes are available to copy into the array, or will throw EOFException if the stream ends before the array is full.

        Specified by:
        readFully in class SeekableInputStream
        Parameters:
        bytes - a byte array to fill with data from the stream
        Throws:
        IOException - If the underlying stream throws IOException
        EOFException - If the stream has fewer bytes left than are needed to fill the array, bytes.length
      • readFully

        public void readFully​(byte[] bytes,
                              int start,
                              int len)
                       throws IOException
        Description copied from class: SeekableInputStream
        Read len bytes of data into an array, at position start.

        This method will block until len bytes are available to copy into the array, or will throw EOFException if the stream ends before the array is full.

        Specified by:
        readFully in class SeekableInputStream
        Parameters:
        bytes - a byte array to fill with data from the stream
        start - the starting position in the byte array for data
        len - the length of bytes to read into the byte array
        Throws:
        IOException - If the underlying stream throws IOException
        EOFException - If the stream has fewer than len bytes left
      • read

        public int read​(ByteBuffer buf)
                 throws IOException
        Description copied from class: SeekableInputStream
        Read buf.remaining() bytes of data into a ByteBuffer.

        This method will copy available bytes into the buffer, reading at most buf.remaining() bytes. The number of bytes actually copied is returned by the method, or -1 is returned to signal that the end of the underlying stream has been reached.

        Specified by:
        read in class SeekableInputStream
        Parameters:
        buf - a byte buffer to fill with data from the stream
        Returns:
        the number of bytes read or -1 if the stream ended
        Throws:
        IOException - If the underlying stream throws IOException
      • readFully

        public void readFully​(ByteBuffer buf)
                       throws IOException
        Description copied from class: SeekableInputStream
        Read buf.remaining() bytes of data into a ByteBuffer.

        This method will block until buf.remaining() bytes are available to copy into the buffer, or will throw EOFException if the stream ends before the buffer is full.

        Specified by:
        readFully in class SeekableInputStream
        Parameters:
        buf - a byte buffer to fill with data from the stream
        Throws:
        IOException - If the underlying stream throws IOException
        EOFException - If the stream has fewer bytes left than are needed to fill the buffer, buf.remaining()