## com.lowagie.text.pdf.codec
Class Base64.OutputStream

    java.lang.Object
      java.io.OutputStream
          java.io.FilterOutputStream
              com.lowagie.text.pdf.codec.Base64.OutputStream

All Implemented Interfaces:
  java.io.Closeable, java.io.Flushable

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`

Field Summary
`private byte[]` `alphabet`
`private byte[]` `b4`
`private boolean` `breakLines`
`private byte[]` `buffer`
`private int` `bufferLength`
`private byte[]` `decodabet`
`private boolean` `encode`
`private int` `lineLength`
`private int` `options`
`private int` `position`
`private boolean` `suspendEncoding`

Fields inherited from class java.io.FilterOutputStream
`out`

Constructor Summary
`Base64.OutputStream(java.io.OutputStream out)` Constructs a `Base64.OutputStream` in ENCODE mode.
`Base64.OutputStream(java.io.OutputStream out, int options)` Constructs a `Base64.OutputStream` in either ENCODE or DECODE mode.

Method Summary
`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.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### encode

    private boolean encode

### position

    private int position

### buffer

    private byte[] buffer

### bufferLength

    private int bufferLength

### lineLength

    private int lineLength

### breakLines

    private boolean breakLines

### b4

    private byte[] b4

### suspendEncoding

    private boolean suspendEncoding

### options

    private int options

### alphabet

    private byte[] alphabet

### decodabet

    private byte[] decodabet

Constructor Detail

### Base64.OutputStream

    public Base64.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

### Base64.OutputStream

    public Base64.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.
         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:
    `Base64.ENCODE`, `Base64.DECODE`, `Base64.DONT_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 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`

### close

    public void close()
               throws java.io.IOException

  Flushes and closes (I think, in the superclass) the stream.

  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 base640-encoded data in a stream.

  Throws:
    `java.io.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

Hosted by Hostbasket