Package com.twelvemonkeys.io.enc
Class DecoderStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.twelvemonkeys.io.enc.DecoderStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public final class DecoderStream extends java.io.FilterInputStream
AnInputStream
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
-
-
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 thepStream
argument.DecoderStream(java.io.InputStream pStream, Decoder pDecoder, int pBufferSize)
Creates a new decoder stream and chains it to the input stream specified by thepStream
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)
-
-
-
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 thepStream
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 thepStream
argument.- Parameters:
pStream
- the underlying input stream.pDecoder
- the decoder that will be used to decode the underlying streampBufferSize
- the size of the decode buffer- See Also:
FilterInputStream.in
-
-
Method Detail
-
available
public int available() throws java.io.IOException
- Overrides:
available
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] pBytes, int pOffset, int pLength) throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
skip
public long skip(long pLength) throws java.io.IOException
- Overrides:
skip
in classjava.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
-
-