Package com.aowagie.text.pdf.codec
Class Base64.OutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- com.aowagie.text.pdf.codec.Base64.OutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
- Enclosing class:
- Base64
private static class Base64.OutputStream extends java.io.FilterOutputStreamABase64.OutputStreamwill write data to another java.io.OutputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly.- Since:
- 1.3
- See Also:
Base64
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]alphabetprivate byte[]b4private booleanbreakLinesprivate byte[]bufferprivate intbufferLengthprivate byte[]decodabetprivate booleanencodeprivate intlineLengthprivate intoptionsprivate intpositionprivate booleansuspendEncoding
-
Constructor Summary
Constructors Modifier Constructor Description privateOutputStream(java.io.OutputStream out, int options)Constructs aBase64.OutputStreamin either ENCODE or DECODE mode.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Flushes and closes (I think, in the superclass) the stream.private voidflushBase64()Method added by PHIL.voidwrite(byte[] theBytes, int off, int len)Callswrite(int)repeatedly until len bytes are written.voidwrite(int theByte)Writes the byte to the output stream after converting to/from Base64 notation.
-
-
-
Field Detail
-
encode
private final boolean encode
-
position
private int position
-
buffer
private byte[] buffer
-
bufferLength
private final int bufferLength
-
lineLength
private int lineLength
-
breakLines
private final boolean breakLines
-
b4
private final byte[] b4
-
suspendEncoding
private final boolean suspendEncoding
-
options
private final int options
-
alphabet
private final byte[] alphabet
-
decodabet
private final byte[] decodabet
-
-
Constructor Detail
-
OutputStream
private OutputStream(java.io.OutputStream out, int options)Constructs aBase64.OutputStreamin either ENCODE or DECODE mode.Valid options:
ENCODE or DECODE: Encode or Decode as data is read. DONT_BREAK_LINES: don't break lines at 76 characters (only meaningful when encoding) Note: Technically, this makes your encoding non-compliant.Example:
new Base64.OutputStream( out, Base64.ENCODE )- Parameters:
out- the java.io.OutputStream to which data will be written.options- Specified options.- Since:
- 1.3
- See Also:
Base64.ENCODE,Base64.DECODE,Base64.DONT_BREAK_LINES
-
-
Method Detail
-
write
public void write(int theByte) throws java.io.IOExceptionWrites the byte to the output stream after converting to/from Base64 notation. When encoding, bytes are buffered three at a time before the output stream actually gets a write() call. When decoding, bytes are buffered four at a time.- Overrides:
writein classjava.io.FilterOutputStream- Parameters:
theByte- the byte to write- Throws:
java.io.IOException- Since:
- 1.3
-
write
public void write(byte[] theBytes, int off, int len) throws java.io.IOExceptionCallswrite(int)repeatedly until len bytes are written.- Overrides:
writein classjava.io.FilterOutputStream- Parameters:
theBytes- array from which to read bytesoff- offset for arraylen- max number of bytes to read into array- Throws:
java.io.IOException- Since:
- 1.3
-
flushBase64
private void flushBase64() throws java.io.IOExceptionMethod added by PHIL. [Thanks, PHIL. -Rob] This pads the buffer without closing the stream.- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOExceptionFlushes and closes (I think, in the superclass) the stream.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.FilterOutputStream- Throws:
java.io.IOException- Since:
- 1.3
-
-