Module com.sun.xml.messaging.saaj
Class BASE64EncoderStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
com.sun.xml.messaging.saaj.packaging.mime.util.BASE64EncoderStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
- Direct Known Subclasses:
BEncoderStream
This class implements a BASE64 Encoder. It is implemented as
a FilterOutputStream, so one can just wrap this class around
any output stream and write bytes into this filter. The Encoding
is done as the bytes are written out.
-
Field Summary
Fields inherited from class java.io.FilterOutputStream
out -
Constructor Summary
ConstructorsConstructorDescriptionCreate a BASE64 encoder that encodes the specified input stream.BASE64EncoderStream(OutputStream out, int bytesPerLine) Create a BASE64 encoder that encodes the specified input stream -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Forces any buffered output bytes to be encoded out to the stream and closes this output streamstatic byte[]encode(byte[] inbuf) Base64 encode a byte array.voidflush()Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.voidwrite(byte[] b) Encodesb.lengthbytes to this output stream.voidwrite(byte[] b, int off, int len) Encodeslenbytes from the specifiedbytearray starting at offsetoffto this output stream.voidwrite(int c) Encodes the specifiedbyteto this output stream.Methods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
BASE64EncoderStream
Create a BASE64 encoder that encodes the specified input stream- Parameters:
out- the output streambytesPerLine- number of bytes per line. The encoder inserts a CRLF sequence after the specified number of bytes
-
BASE64EncoderStream
Create a BASE64 encoder that encodes the specified input stream. Inserts the CRLF sequence after outputting 76 bytes.- Parameters:
out- the output stream
-
-
Method Details
-
write
Encodeslenbytes from the specifiedbytearray starting at offsetoffto this output stream.- Overrides:
writein classFilterOutputStream- Parameters:
b- the data.off- the start offset in the data.len- the number of bytes to write.- Throws:
IOException- if an I/O error occurs.
-
write
Encodesb.lengthbytes to this output stream.- Overrides:
writein classFilterOutputStream- Parameters:
b- the data to be written.- Throws:
IOException- if an I/O error occurs.
-
write
Encodes the specifiedbyteto this output stream.- Overrides:
writein classFilterOutputStream- Parameters:
c- thebyte.- Throws:
IOException- if an I/O error occurs.
-
flush
Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.- Specified by:
flushin interfaceFlushable- Overrides:
flushin classFilterOutputStream- Throws:
IOException- if an I/O error occurs.
-
close
Forces any buffered output bytes to be encoded out to the stream and closes this output stream- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterOutputStream- Throws:
IOException
-
encode
public static byte[] encode(byte[] inbuf) Base64 encode a byte array. No line breaks are inserted. This method is suitable for short strings, such as those in the IMAP AUTHENTICATE protocol, but not to encode the entire content of a MIME part.- Parameters:
inbuf- byte array to encode.- Returns:
- encoded byte array.
-