|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.io.InputStream
java.io.FilterInputStream
org.spaceroots.jarmor.AbstractDecoder
org.spaceroots.jarmor.ASCII85Decoder
This class decodes a text stream containing into a binary stream.
The ASCII85encoding is suitable when binary data needs to be transmitted or stored as text. It has been defined by Adobe for the PostScript and PDF formats (see PDF Reference, section 3.3 Details of Filtered Streams).
The encoded stream is about 25% larger than the corresponding binary stream (32 binary bits are converted into 40 encoded bits, and there may be start/end of line markers).
ASCII85Encoder| Field Summary | |
protected byte[] |
encoded
Encoded bytes buffer. |
protected boolean |
endReached
End indicator. |
protected int |
nEncoded
Number of bytes already in the encoded array. |
| Fields inherited from class java.io.FilterInputStream |
in |
| Constructor Summary | |
ASCII85Decoder(InputStream in)
Create a decoder wrapping a source of encoded data. |
|
| Method Summary | |
int |
available()
Get the number of bytes that can be read from this input stream without blocking. |
void |
close()
Close the stream. |
protected int |
filterBytes()
Filter some bytes from the underlying stream. |
boolean |
markSupported()
Check if the FilterInputStream.mark(int) and
FilterInputStream.reset() methods are supported. |
protected void |
putFilteredByte(int b)
Put a filtered byte in the buffer. |
int |
read()
Reads the next byte of data from this input stream. |
int |
read(byte[] b,
int off,
int len)
Reads up to len bytes of data from this input stream into an array of bytes. |
protected int |
readEncodedBytes()
Read new encoded bytes. |
long |
skip(long n)
Skips over and discards n bytes of data from the input stream. |
| Methods inherited from class java.io.FilterInputStream |
mark, read, reset |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected byte[] encoded
protected int nEncoded
protected boolean endReached
| Constructor Detail |
public ASCII85Decoder(InputStream in)
in - source of encoded data to decode| Method Detail |
protected int filterBytes()
throws IOException
IOException - if the underlying stream throws one or
if a non-ASCII85 character is encounteredAbstractDecoder.putFilteredByte(int)
public int available()
throws IOException
IOException - if the underlying stream throws one
public int read()
throws IOException
IOException - if the underlying stream throws one
public int read(byte[] b,
int off,
int len)
throws IOException
b - the buffer into which the data is read.off - the start offset of the data.len - the maximum number of bytes read.
IOException - if the underlying stream throws one
public long skip(long n)
throws IOException
n - the number of bytes to be skipped
IOException - if the underlying stream throws one
public void close()
throws IOException
IOException - if the underlying stream throws onepublic boolean markSupported()
FilterInputStream.mark(int) and
FilterInputStream.reset() methods are supported.
protected int readEncodedBytes()
throws IOException
IOException - if the underlying stream throws oneprotected void putFilteredByte(int b)
The filtered bytes buffer will be expanded if it already contains too many pending bytes.
b - byte to put in the filtered buffer
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||