Class DecoderStream

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

    public final class DecoderStream
    extends java.io.FilterInputStream
    An InputStream that provides on-the-fly decoding from an underlying stream.
    Version:
    $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-core/src/main/java/com/twelvemonkeys/io/enc/DecoderStream.java#2 $
    Author:
    Harald Kuhr
    See Also:
    EncoderStream, Decoder
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.nio.ByteBuffer buffer  
      protected Decoder decoder  
      • Fields inherited from class java.io.FilterInputStream

        in
    • Constructor Summary

      Constructors 
      Constructor Description
      DecoderStream​(java.io.InputStream pStream, Decoder pDecoder)
      Creates a new decoder stream and chains it to the input stream specified by the pStream argument.
      DecoderStream​(java.io.InputStream pStream, Decoder pDecoder, int pBufferSize)
      Creates a new decoder stream and chains it to the input stream specified by the pStream argument.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()  
      protected int fill()
      Fills the buffer, by decoding data from the underlying input stream.
      int read()  
      int read​(byte[] pBytes, int pOffset, int pLength)  
      long skip​(long pLength)  
      • Methods inherited from class java.io.FilterInputStream

        close, mark, markSupported, read, reset
      • Methods inherited from class java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • buffer

        protected final java.nio.ByteBuffer buffer
      • decoder

        protected final Decoder decoder
    • Constructor Detail

      • DecoderStream

        public DecoderStream​(java.io.InputStream pStream,
                             Decoder pDecoder)
        Creates a new decoder stream and chains it to the input stream specified by the pStream argument. The stream will use a default decode buffer size.
        Parameters:
        pStream - the underlying input stream.
        pDecoder - the decoder that will be used to decode the underlying stream
        See Also:
        FilterInputStream.in
      • DecoderStream

        public DecoderStream​(java.io.InputStream pStream,
                             Decoder pDecoder,
                             int pBufferSize)
        Creates a new decoder stream and chains it to the input stream specified by the pStream argument.
        Parameters:
        pStream - the underlying input stream.
        pDecoder - the decoder that will be used to decode the underlying stream
        pBufferSize - the size of the decode buffer
        See Also:
        FilterInputStream.in
    • Method Detail

      • available

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • read

        public int read()
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] pBytes,
                        int pOffset,
                        int pLength)
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • skip

        public long skip​(long pLength)
                  throws java.io.IOException
        Overrides:
        skip in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • fill

        protected int fill()
                    throws java.io.IOException
        Fills the buffer, by decoding data from the underlying input stream.
        Returns:
        the number of bytes decoded, or -1 if the end of the file is reached
        Throws:
        java.io.IOException - if an I/O error occurs