Package com.microstrategy.utils
Class Base64Harder.OutputStream
- java.lang.Object
 - 
- java.io.OutputStream
 - 
- java.io.FilterOutputStream
 - 
- com.microstrategy.utils.Base64Harder.OutputStream
 
 
 
 
- 
- All Implemented Interfaces:
 java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
- Enclosing class:
 - Base64Harder
 
public static class Base64Harder.OutputStream extends java.io.FilterOutputStreamABase64Harder.OutputStreamwill write data to another java.io.OutputStream, given in the constructor, and encode/decode to/from Base64Harder notation on the fly.- Since:
 - 1.3
 - See Also:
 Base64Harder
 
- 
- 
Constructor Summary
Constructors Constructor Description OutputStream(java.io.OutputStream out)Constructs aBase64Harder.OutputStreamin ENCODE mode.OutputStream(java.io.OutputStream out, int options)Constructs aBase64Harder.OutputStreamin either ENCODE or DECODE mode. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Flushes and closes (I think, in the superclass) the stream.voidflushBase64()Method added by PHIL.voidresumeEncoding()Resumes encoding of the stream.voidwrite(byte[] theBytes, int off, int len)Callswrite(int)repeatedly until len bytes are written.voidwrite(int theByte)Writes the byte to the output stream after converting to/from Base64Harder notation. 
 - 
 
- 
- 
Constructor Detail
- 
OutputStream
public OutputStream(java.io.OutputStream out)
Constructs aBase64Harder.OutputStreamin ENCODE mode.- Parameters:
 out- the java.io.OutputStream to which data will be written.- Since:
 - 1.3
 
 
- 
OutputStream
public OutputStream(java.io.OutputStream out, int options)Constructs aBase64Harder.OutputStreamin either ENCODE or DECODE mode.Valid options:
ENCODE or DECODE: Encode or Decode as data is read. DO_BREAK_LINES: don't break lines at 76 characters (only meaningful when encoding)Example:
new Base64Harder.OutputStream( out, Base64Harder.ENCODE )- Parameters:
 out- the java.io.OutputStream to which data will be written.options- Specified options.- Since:
 - 1.3
 - See Also:
 Base64Harder.ENCODE,Base64Harder.DECODE,Base64Harder.DO_BREAK_LINES
 
 - 
 
- 
Method Detail
- 
write
public void write(int theByte) throws java.io.IOExceptionWrites the byte to the output stream after converting to/from Base64Harder notation. When encoding, bytes are buffered three at a time before the output stream actually gets a write() call. When decoding, bytes are buffered four at a time. Suspended Encoding is not supported since 11.3.4.- Overrides:
 writein classjava.io.FilterOutputStream- Parameters:
 theByte- the byte to write- Throws:
 java.io.IOException- Since:
 - 1.3
 
 
- 
write
public void write(byte[] theBytes, int off, int len) throws java.io.IOExceptionCallswrite(int)repeatedly until len bytes are written. Suspended Encoding is not supported since 11.3.4.- Overrides:
 writein classjava.io.FilterOutputStream- Parameters:
 theBytes- array from which to read bytesoff- offset for arraylen- max number of bytes to read into array- Throws:
 java.io.IOException- Since:
 - 1.3
 
 
- 
flushBase64
public void flushBase64() throws java.io.IOExceptionMethod added by PHIL. [Thanks, PHIL. -Rob] This pads the buffer without closing the stream.- Throws:
 java.io.IOException- if there's an error.
 
- 
close
public void close() throws java.io.IOExceptionFlushes and closes (I think, in the superclass) the stream.- Specified by:
 closein interfacejava.lang.AutoCloseable- Specified by:
 closein interfacejava.io.Closeable- Overrides:
 closein classjava.io.FilterOutputStream- Throws:
 java.io.IOException- Since:
 - 1.3
 
 
- 
resumeEncoding
public void resumeEncoding()
Resumes encoding of the stream. May be helpful if you need to embed a piece of base64-encoded data in a stream.- Since:
 - 1.5.1
 
 
 - 
 
 -