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
ConstructorDescriptionCreate 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 TypeMethodDescriptionvoid
close()
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.void
flush()
Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.void
write
(byte[] b) Encodesb.length
bytes to this output stream.void
write
(byte[] b, int off, int len) Encodeslen
bytes from the specifiedbyte
array starting at offsetoff
to this output stream.void
write
(int c) Encodes the specifiedbyte
to 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
Encodeslen
bytes from the specifiedbyte
array starting at offsetoff
to this output stream.- Overrides:
write
in 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.length
bytes to this output stream.- Overrides:
write
in classFilterOutputStream
- Parameters:
b
- the data to be written.- Throws:
IOException
- if an I/O error occurs.
-
write
Encodes the specifiedbyte
to this output stream.- Overrides:
write
in 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:
flush
in interfaceFlushable
- Overrides:
flush
in 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:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in 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.
-