Class ASCII85OutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.xmlgraphics.util.io.ASCII85OutputStream
- All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, ASCII85Constants, Finalizable
public class ASCII85OutputStream
extends FilterOutputStream
implements ASCII85Constants, Finalizable
This class applies a ASCII85 encoding to the stream.
- Version:
- $Id$
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate longprivate intprivate static final booleanprivate intprivate intFields inherited from class FilterOutputStream
outFields inherited from interface ASCII85Constants
END, EOD, EOL, POW85, START, ZERO, ZERO_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcheckedWrite(byte[] buf) private voidcheckedWrite(byte[] buf, boolean nosplit) private voidcheckedWrite(byte[] buf, int len) private voidcheckedWrite(byte[] buf, int len, boolean nosplit) voidclose()private byte[]convertWord(long word) This converts a 32 bit value (4 bytes) into 5 bytes using base 85.voidThis method can be called instead of close() on a subclass of FilteredOutputStream when a final marker has to be written to the target stream, but close() cannot be called.voidwrite(int b) Methods inherited from class FilterOutputStream
flush, write, writeMethods inherited from class OutputStream
nullOutputStream
-
Field Details
-
DEBUG
private static final boolean DEBUG- See Also:
-
pos
private int pos -
buffer
private long buffer -
posinline
private int posinline -
bw
private int bw
-
-
Constructor Details
-
ASCII85OutputStream
- See Also:
-
-
Method Details
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException- See Also:
-
checkedWrite
- Throws:
IOException
-
checkedWrite
- Throws:
IOException
-
checkedWrite
- Throws:
IOException
-
checkedWrite
- Throws:
IOException
-
convertWord
private byte[] convertWord(long word) This converts a 32 bit value (4 bytes) into 5 bytes using base 85. each byte in the result starts with zero at the '!' character so the resulting base85 number fits into printable ascii chars- Parameters:
word- the 32 bit unsigned (hence the long datatype) word- Returns:
- 5 bytes (or a single byte of the 'z' character for word values of 0)
-
finalizeStream
Description copied from interface:FinalizableThis method can be called instead of close() on a subclass of FilteredOutputStream when a final marker has to be written to the target stream, but close() cannot be called.- Specified by:
finalizeStreamin interfaceFinalizable- Throws:
IOException- In case of an IO problem- See Also:
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterOutputStream- Throws:
IOException- See Also:
-