Package com.itextpdf.text.pdf.codec
Class Base64.OutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- com.itextpdf.text.pdf.codec.Base64.OutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
- Enclosing class:
- Base64
public 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 Constructor Description OutputStream(java.io.OutputStream out)Constructs aBase64.OutputStreamin ENCODE mode.OutputStream(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.voidflushBase64()Method added by PHIL.voidresumeEncoding()Resumes encoding of the stream.voidsuspendEncoding()Suspends encoding of the stream.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 boolean encode
-
position
private int position
-
buffer
private byte[] buffer
-
bufferLength
private int bufferLength
-
lineLength
private int lineLength
-
breakLines
private boolean breakLines
-
b4
private byte[] b4
-
suspendEncoding
private boolean suspendEncoding
-
options
private int options
-
alphabet
private byte[] alphabet
-
decodabet
private byte[] decodabet
-
-
Constructor Detail
-
OutputStream
public OutputStream(java.io.OutputStream out)
Constructs aBase64.OutputStreamin ENCODE mode.- Parameters:
out- the java.io.OutputStream to which data will be written.- Since:
- 1.3
-
OutputStream
public 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
public 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
-
suspendEncoding
public void suspendEncoding() throws java.io.IOExceptionSuspends encoding of the stream. May be helpful if you need to embed a piece of base640-encoded data in a stream.- Throws:
java.io.IOException- Since:
- 1.5.1
-
resumeEncoding
public void resumeEncoding()
Resumes encoding of the stream. May be helpful if you need to embed a piece of base640-encoded data in a stream.- Since:
- 1.5.1
-
-