Class Base64.OutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
com.softsynth.jmsl.util.Base64.OutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable
Enclosing class:
Base64

public static class Base64.OutputStream
extends java.io.FilterOutputStream
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:
Base64
  • Constructor Summary

    Constructors
    Constructor Description
    OutputStream​(java.io.OutputStream out)
    Constructs a Base64.OutputStream in ENCODE mode.
    OutputStream​(java.io.OutputStream out, int options)
    Constructs a Base64.OutputStream in either ENCODE or DECODE mode.
  • Method Summary

    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)
    Calls write(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

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OutputStream

      public OutputStream​(java.io.OutputStream out)
      Constructs a Base64.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 a Base64.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 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:
      Base64.ENCODE, Base64.DECODE, Base64.DO_BREAK_LINES
  • Method Details

    • write

      public void write​(int theByte) throws java.io.IOException
      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 class java.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
      Calls write(int) repeatedly until len bytes are written.
      Overrides:
      write in class java.io.FilterOutputStream
      Parameters:
      theBytes - array from which to read bytes
      off - offset for array
      len - 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 interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
      Overrides:
      close in class java.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