public class

QPDecoderStream

extends FilterInputStream
java.lang.Object
   ↳ java.io.InputStream
     ↳ java.io.FilterInputStream
       ↳ com.google.code.com.sun.mail.util.QPDecoderStream
Known Direct Subclasses

Class Overview

This class implements a QP Decoder. It is implemented as a FilterInputStream, so one can just wrap this class around any input stream and read bytes from this filter. The decoding is done as the bytes are read out.

Summary

[Expand]
Inherited Constants
From class java.io.InputStream
Fields
protected byte[] ba
protected int spaces
[Expand]
Inherited Fields
From class java.io.FilterInputStream
Public Constructors
QPDecoderStream(InputStream in)
Create a Quoted Printable decoder that decodes the specified input stream.
Public Methods
int available()
Returns the number of bytes that can be read from this input stream without blocking.
boolean markSupported()
Tests if this input stream supports marks.
int read()
Read the next decoded byte from this input stream.
int read(byte[] buf, int off, int len)
Reads up to len decoded bytes of data from this input stream into an array of bytes.
long skip(long n)
Skips over and discards n bytes of data from this stream.
[Expand]
Inherited Methods
From class java.io.FilterInputStream
From class java.io.InputStream
From class java.lang.Object
From interface java.io.Closeable

Fields

protected byte[] ba

protected int spaces

Public Constructors

public QPDecoderStream (InputStream in)

Create a Quoted Printable decoder that decodes the specified input stream.

Parameters
in The input stream

Public Methods

public int available ()

Returns the number of bytes that can be read from this input stream without blocking. The QP algorithm does not permit a priori knowledge of the number of bytes after decoding, so this method just invokes the available method of the original input stream.

Throws
IOException

public boolean markSupported ()

Tests if this input stream supports marks. Currently this class does not support marks

public int read ()

Read the next decoded byte from this input stream. The byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

Returns
  • the next byte of data, or -1 if the end of the stream is reached.
Throws
IOException if an I/O error occurs.

public int read (byte[] buf, int off, int len)

Reads up to len decoded bytes of data from this input stream into an array of bytes. This method blocks until some input is available.

Parameters
buf The buffer into which the data is read.
off The start offset of the data.
len The maximum number of bytes read.
Returns
  • the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
Throws
IOException if an I/O error occurs.

public long skip (long n)

Skips over and discards n bytes of data from this stream.

Parameters
n
Throws
IOException