Package mondrian.util
Class Base64.OutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
mondrian.util.Base64.OutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
- Enclosing class:
- Base64
A
Base64.OutputStream
will write data to another
java.io.OutputStream, given in the constructor,
and encode/decode to/from Base64 notation on the fly.- Since:
- 1.3
- See Also:
-
Field Summary
Fields inherited from class java.io.FilterOutputStream
out
-
Constructor Summary
ConstructorDescriptionOutputStream
(OutputStream out) Constructs aBase64.OutputStream
in ENCODE mode.OutputStream
(OutputStream out, int options) Constructs aBase64.OutputStream
in either ENCODE or DECODE mode. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Flushes and closes (I think, in the superclass) the stream.void
Method added by PHIL.void
Resumes encoding of the stream.void
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 Base64 notation.Methods inherited from class java.io.FilterOutputStream
flush, write
Methods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
OutputStream
Constructs aBase64.OutputStream
in ENCODE mode.- Parameters:
out
- the java.io.OutputStream to which data will be written.- Since:
- 1.3
-
OutputStream
Constructs aBase64.OutputStream
in either ENCODE or DECODE mode.Valid options:
ENCODE or DECODE: Encode or Decode as data is read. DONT_BREAK_LINES: don't break lines at 76 characters (only meaningful when encoding) Note: Technically, this makes your encoding non-compliant.
Example:
new Base64.OutputStream( out, Base64.ENCODE )
- Parameters:
out
- the java.io.OutputStream to which data will be written.options
- Specified options.- Since:
- 1.3
- See Also:
-
-
Method Details
-
write
Writes the byte to the output stream after converting to/from Base64 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 classFilterOutputStream
- Parameters:
theByte
- the byte to write- Throws:
IOException
- Since:
- 1.3
-
write
Callswrite(int)
repeatedly until len bytes are written.- Overrides:
write
in classFilterOutputStream
- Parameters:
theBytes
- array from which to read bytesoff
- offset for arraylen
- max number of bytes to read into array- Throws:
IOException
- Since:
- 1.3
-
flushBase64
Method added by PHIL. [Thanks, PHIL. -Rob] This pads the buffer without closing the stream.- Throws:
IOException
-
close
Flushes and closes (I think, in the superclass) the stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFilterOutputStream
- Throws:
IOException
- Since:
- 1.3
-
suspendEncoding
Suspends encoding of the stream. May be helpful if you need to embed a piece of base640-encoded data in a stream.- Throws:
IOException
- Since:
- 1.5.1
-
resumeEncoding
public void resumeEncoding()Resumes encoding of the stream. May be helpful if you need to embed a piece of base640-encoded data in a stream.- Since:
- 1.5.1
-