Java Reference
In-Depth Information
The Base64OutputStream class described above is shown below in Listing 5.3.
Listing 5.3: Base-64 Output Stream (Base64OutputStream.java)
package com.heatonresearch.httprecipes.ch5.recipe2;
import java.io.*;
class Base64OutputStream extends FilterOutputStream
{
/**
* The constructor.
*
* @param out The stream used to write to.
*/
public Base64OutputStream(OutputStream out)
{
super(out);
}
/**
* Write a byte to be encoded.
*
* @param c The character to be written.
* @exception java.io.IOException
*/
public void write(int c) throws IOException
{
buffer[index] = c;
index++;
if (index == 3)
{
super.write(toBase64[(buffer[0] & 0xfc) >> 2]);
super.write(toBase64[((buffer[0] & 0x03) << 4)
| ((buffer[1] & 0xf0) >> 4)]);
super.write(toBase64[((buffer[1] & 0x0f) << 2)
| ((buffer[2] & 0xc0) >> 6)]);
super.write(toBase64[buffer[2] & 0x3f]);
index = 0;
}
}
Search WWH ::




Custom Search