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.FilterOutputStream
ABase64Harder.OutputStream
will 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.OutputStream
in ENCODE mode.OutputStream(java.io.OutputStream out, int options)
Constructs aBase64Harder.OutputStream
in either ENCODE or DECODE mode.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Flushes and closes (I think, in the superclass) the stream.void
flushBase64()
Method added by PHIL.void
resumeEncoding()
Resumes encoding of the stream.void
suspendEncoding()
Suspends encoding of the stream.void
write(byte[] theBytes, int off, int len)
Callswrite(int)
repeatedly until len bytes are written.void
write(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.OutputStream
in 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.OutputStream
in 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.IOException
Writes 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.- Overrides:
write
in 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.IOException
Callswrite(int)
repeatedly until len bytes are written.- Overrides:
write
in 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.IOException
Method 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.IOException
Flushes and closes (I think, in the superclass) the stream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
- Since:
- 1.3
-
suspendEncoding
public void suspendEncoding() throws java.io.IOException
Suspends encoding of the stream. May be helpful if you need to embed a piece of base64-encoded data in a stream.- Throws:
java.io.IOException
- if there's an error flushing- Since:
- 1.5.1
-
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
-
-