com.lowagie.text.pdf.codec

## Class Base64.InputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - com.lowagie.text.pdf.codec.Base64.InputStream

- All Implemented Interfaces:
    java.io.Closeable
  Enclosing class:
    Base64

      public static class Base64.InputStream
      extends java.io.FilterInputStream

  A `Base64.InputStream` will read data from another `java.io.InputStream`, given in the constructor, and encode/decode to/from Base64 notation on the fly.
  Since:
    1.3
  See Also:
    `Base64`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private byte[]` | `alphabet`
    `private boolean` | `breakLines`
    `private byte[]` | `buffer`
    `private int` | `bufferLength`
    `private byte[]` | `decodabet`
    `private boolean` | `encode`
    `private int` | `lineLength`
    `private int` | `numSigBytes`
    `private int` | `options`
    `private int` | `position`

    - ### Fields inherited from class java.io.FilterInputStream

      `in`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Base64.InputStream(java.io.InputStream in)` Constructs a `Base64.InputStream` in DECODE mode.
    `Base64.InputStream(java.io.InputStream in, int options)` Constructs a `Base64.InputStream` in either ENCODE or DECODE mode.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `read()` Reads enough of the input stream to convert to/from Base64 and returns the next byte.
    `int` | `read(byte[] dest, int off, int len)` Calls `read()` repeatedly until the end of stream is reached or len bytes are read.

    - ### Methods inherited from class java.io.FilterInputStream

      `available, close, mark, markSupported, read, reset, skip`

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

    - #### numSigBytes

          private int numSigBytes

    - #### lineLength

          private int lineLength

    - #### breakLines

          private boolean breakLines

    - #### options

          private int options

    - #### alphabet

          private byte[] alphabet

    - #### decodabet

          private byte[] decodabet

  - ### Constructor Detail

    - #### Base64.InputStream

          public Base64.InputStream(java.io.InputStream in)

      Constructs a `Base64.InputStream` in DECODE mode.
      Parameters:
        `in` - the `java.io.InputStream` from which to read data.
      Since:
        1.3

    - #### Base64.InputStream

          public Base64.InputStream(java.io.InputStream in,
                            int options)

      Constructs a `Base64.InputStream` 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.InputStream( in, Base64.DECODE )`

      Parameters:
        `in` - the `java.io.InputStream` from which to read data.
        `options` - Specified options
      Since:
        2.0
      See Also:
        `Base64.ENCODE`, `Base64.DECODE`, `Base64.DONT_BREAK_LINES`

  - ### Method Detail

    - #### read

          public int read()
                   throws java.io.IOException

      Reads enough of the input stream to convert to/from Base64 and returns the next byte.
      Overrides:
        `read` in class `java.io.FilterInputStream`
      Returns:
        next byte
      Throws:
        `java.io.IOException`
      Since:
        1.3

    - #### read

          public int read(byte[] dest,
                 int off,
                 int len)
                   throws java.io.IOException

      Calls `read()` repeatedly until the end of stream is reached or len bytes are read. Returns number of bytes read into array or -1 if end of stream is encountered.
      Overrides:
        `read` in class `java.io.FilterInputStream`
      Parameters:
        `dest` - array to hold values
        `off` - offset for array
        `len` - max number of bytes to read into array
      Returns:
        bytes read into array or -1 if end of stream is encountered.
      Throws:
        `java.io.IOException`
      Since:
        1.3