This class is an output stream that uses
a Cipher object to encrypt or decrypt bytes before
passing them to another output stream. You must initialize the
Cipher object before passing it to the
CipherOutputStream( ) constructor. If you are
using a Cipher with any kind of padding, you must
not call flush( ) until you are done writing all
data to the stream; otherwise decryption fails.

public class CipherOutputStream extends java.io.FilterOutputStream {
// Public Constructors
public CipherOutputStream(java.io.OutputStream os, Cipher c);
// Protected Constructors
protected CipherOutputStream(java.io.OutputStream os);
// Public Methods Overriding FilterOutputStream
public void close( ) throws java.io.IOException;
public void flush( ) throws java.io.IOException;
public void write(int b) throws java.io.IOException;
public void write(byte[ ] b) throws java.io.IOException;
public void write(byte[ ] b, int off, int len) throws java.io.IOException;
}