Class Base64InputStream

All Implemented Interfaces:
Closeable, AutoCloseable

@NotThreadSafe public class Base64InputStream extends WrappedInputStream
A Base64InputStream will read data from another InputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly.
Since:
1.3
See Also:
  • Constructor Details

    • Base64InputStream

      public Base64InputStream(@Nonnull InputStream pin)
      Constructs a Base64InputStream in DECODE mode.
      Parameters:
      pin - the InputStream from which to read data.
      Since:
      1.3
    • Base64InputStream

      public Base64InputStream(@Nonnull InputStream aIS, int nOptions)
      Constructs a Base64InputStream in either ENCODE or DECODE mode.

      Valid options:

         ENCODE or DECODE: Encode or Decode as data is read.
         DO_BREAK_LINES: break lines at 76 characters
           (only meaningful when encoding)
       

      Example: new Base64.InputStream( in, Base64.DECODE )

      Parameters:
      aIS - the InputStream from which to read data.
      nOptions - Specified options
      Since:
      2.0
      See Also:
  • Method Details

    • read

      public int read() throws IOException
      Reads enough of the input stream to convert to/from Base64 and returns the next byte.
      Overrides:
      read in class FilterInputStream
      Returns:
      next byte
      Throws:
      IOException
      Since:
      1.3
    • read

      public int read(@Nonnull byte[] aDest, @Nonnegative int nOfs, @Nonnegative int nLen) throws 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 FilterInputStream
      Parameters:
      aDest - array to hold values
      nOfs - offset for array
      nLen - max number of bytes to read into array
      Returns:
      bytes read into array or -1 if end of stream is encountered.
      Throws:
      IOException
      Since:
      1.3