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:
Closeable
,Flushable
,AutoCloseable
- Enclosing class:
Base64
A
Base64.OutputStream
will 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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]
private final byte[]
private final boolean
private byte[]
private final int
private final byte[]
private final boolean
private int
private final int
private int
private final boolean
Fields inherited from class java.io.FilterOutputStream
out
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
OutputStream
(OutputStream out, int options) Constructs aBase64.OutputStream
in either ENCODE or DECODE mode. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Flushes and closes (I think, in the superclass) the stream.private void
Method added by PHIL.void
write
(byte[] theBytes, int off, int len) Callswrite(int)
repeatedly until len bytes are written.void
write
(int theByte) Writes the byte to the output stream after converting to/from Base64 notation.Methods inherited from class java.io.FilterOutputStream
flush, write
Methods inherited from class java.io.OutputStream
nullOutputStream
-
Field Details
-
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 Details
-
OutputStream
Constructs aBase64.OutputStream
in 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:
-
-
Method Details
-
write
Writes 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:
write
in classFilterOutputStream
- Parameters:
theByte
- the byte to write- Throws:
IOException
- Since:
- 1.3
-
write
Callswrite(int)
repeatedly until len bytes are written.- Overrides:
write
in classFilterOutputStream
- Parameters:
theBytes
- array from which to read bytesoff
- offset for arraylen
- max number of bytes to read into array- Throws:
IOException
- Since:
- 1.3
-
flushBase64
Method added by PHIL. [Thanks, PHIL. -Rob] This pads the buffer without closing the stream.- Throws:
IOException
-
close
Flushes and closes (I think, in the superclass) the stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFilterOutputStream
- Throws:
IOException
- Since:
- 1.3
-