org.apache.james.mime4j.codec
Class Base64OutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by org.apache.james.mime4j.codec.Base64OutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class Base64OutputStream
extends java.io.FilterOutputStream

This class implements section 6.8. Base64 Content-Transfer-Encoding from RFC 2045 Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies by Freed and Borenstein.

Code is based on Base64 and Base64OutputStream code from Commons-Codec 1.4.

See Also:
RFC 2045

Field Summary
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
Base64OutputStream(java.io.OutputStream out)
          Creates a Base64OutputStream that writes the encoded data to the given output stream using the default line length (76) and line separator (CRLF).
Base64OutputStream(java.io.OutputStream out, int lineLength)
          Creates a Base64OutputStream that writes the encoded data to the given output stream using the given line length and the default line separator (CRLF).
Base64OutputStream(java.io.OutputStream out, int lineLength, byte[] lineSeparator)
          Creates a Base64OutputStream that writes the encoded data to the given output stream using the given line length and line separator.
 
Method Summary
 void close()
           
 void flush()
           
 void write(byte[] buffer)
           
 void write(byte[] buffer, int offset, int length)
           
 void write(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Base64OutputStream

public Base64OutputStream(java.io.OutputStream out)
Creates a Base64OutputStream that writes the encoded data to the given output stream using the default line length (76) and line separator (CRLF).

Parameters:
out - underlying output stream.

Base64OutputStream

public Base64OutputStream(java.io.OutputStream out,
                          int lineLength)
Creates a Base64OutputStream that writes the encoded data to the given output stream using the given line length and the default line separator (CRLF).

The given line length will be rounded up to the nearest multiple of 4. If the line length is zero then the output will not be split into lines.

Parameters:
out - underlying output stream.
lineLength - desired line length.

Base64OutputStream

public Base64OutputStream(java.io.OutputStream out,
                          int lineLength,
                          byte[] lineSeparator)
Creates a Base64OutputStream that writes the encoded data to the given output stream using the given line length and line separator.

The given line length will be rounded up to the nearest multiple of 4. If the line length is zero then the output will not be split into lines and the line separator is ignored.

The line separator must not include characters from the BASE64 alphabet (including the padding character =).

Parameters:
out - underlying output stream.
lineLength - desired line length.
lineSeparator - line separator to use.
Method Detail

write

public final void write(int b)
                 throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Throws:
java.io.IOException

write

public final void write(byte[] buffer)
                 throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Throws:
java.io.IOException

write

public final void write(byte[] buffer,
                        int offset,
                        int length)
                 throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.FilterOutputStream
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterOutputStream
Throws:
java.io.IOException


Copyright © 2004-2013. All Rights Reserved.