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
-
-