com.sun.mail.util

## Class QPEncoderStream

- java.lang.Object
- - java.io.OutputStream
  - - java.io.FilterOutputStream
    - - com.sun.mail.util.QPEncoderStream

- All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable
  Direct Known Subclasses:
    QEncoderStream

      public class QPEncoderStream
      extends FilterOutputStream

  This class implements a Quoted Printable Encoder. It is implemented as a FilterOutputStream, so one can just wrap this class around any output stream and write bytes into this filter. The Encoding is done as the bytes are written out.
  Author:
    John Mani

- - ### Field Summary

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

      `out`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QPEncoderStream(OutputStream out)` Create a QP encoder that encodes the specified input stream.
    `QPEncoderStream(OutputStream out, int bytesPerLine)` Create a QP encoder that encodes the specified input stream

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Forces any buffered output bytes to be encoded out to the stream and closes this output stream.
    `void` | `flush()` Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.
    `protected void` | `output(int c, boolean encode)`
    `void` | `write(byte[] b)` Encodes `b.length` bytes to this output stream.
    `void` | `write(byte[] b, int off, int len)` Encodes `len` bytes from the specified `byte` array starting at offset `off` to this output stream.
    `void` | `write(int c)` Encodes the specified `byte` to this output stream.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### QPEncoderStream

          public QPEncoderStream(OutputStream out,
                         int bytesPerLine)

      Create a QP encoder that encodes the specified input stream
      Parameters:
        `out` - the output stream
        `bytesPerLine` - the number of bytes per line. The encoder inserts a CRLF sequence after this many number of bytes.

    - #### QPEncoderStream

          public QPEncoderStream(OutputStream out)

      Create a QP encoder that encodes the specified input stream. Inserts the CRLF sequence after outputting 76 bytes.
      Parameters:
        `out` - the output stream

  - ### Method Detail

    - #### write

          public void write(byte[] b,
                   int off,
                   int len)
                     throws IOException

      Encodes `len` bytes from the specified `byte` array starting at offset `off` to this output stream.
      Overrides:
        `write` in class `FilterOutputStream`
      Parameters:
        `b` - the data.
        `off` - the start offset in the data.
        `len` - the number of bytes to write.
      Throws:
        `IOException` - if an I/O error occurs.

    - #### write

          public void write(byte[] b)
                     throws IOException

      Encodes `b.length` bytes to this output stream.
      Overrides:
        `write` in class `FilterOutputStream`
      Parameters:
        `b` - the data to be written.
      Throws:
        `IOException` - if an I/O error occurs.

    - #### write

          public void write(int c)
                     throws IOException

      Encodes the specified `byte` to this output stream.
      Overrides:
        `write` in class `FilterOutputStream`
      Parameters:
        `c` - the `byte`.
      Throws:
        `IOException` - if an I/O error occurs.

    - #### flush

          public void flush()
                     throws IOException

      Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.
      Specified by:
        `flush` in interface `Flushable`
      Overrides:
        `flush` in class `FilterOutputStream`
      Throws:
        `IOException` - if an I/O error occurs.

    - #### close

          public void close()
                     throws IOException

      Forces any buffered output bytes to be encoded out to the stream and closes this output stream.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Overrides:
        `close` in class `FilterOutputStream`
      Throws:
        `IOException` - for I/O errors

    - #### output

          protected void output(int c,
                    boolean encode)
                         throws IOException

      Throws:
        `IOException`

Copyright © 2016 Oracle. All rights reserved.