- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- com.sun.mail.util.QPEncoderStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
- Direct Known Subclasses:
QEncoderStream
public class QPEncoderStream extends java.io.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
-
-
Constructor Summary
Constructors Constructor Description QPEncoderStream(java.io.OutputStream out)
Create a QP encoder that encodes the specified input stream.QPEncoderStream(java.io.OutputStream out, int bytesPerLine)
Create a QP encoder that encodes the specified input stream
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
Encodesb.length
bytes to this output stream.void
write(byte[] b, int off, int len)
Encodeslen
bytes from the specifiedbyte
array starting at offsetoff
to this output stream.void
write(int c)
Encodes the specifiedbyte
to this output stream.
-
-
-
Constructor Detail
-
QPEncoderStream
public QPEncoderStream(java.io.OutputStream out, int bytesPerLine)
Create a QP encoder that encodes the specified input stream- Parameters:
out
- the output streambytesPerLine
- the number of bytes per line. The encoder inserts a CRLF sequence after this many number of bytes.
-
QPEncoderStream
public QPEncoderStream(java.io.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 java.io.IOException
Encodeslen
bytes from the specifiedbyte
array starting at offsetoff
to this output stream.- Overrides:
write
in classjava.io.FilterOutputStream
- Parameters:
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.- Throws:
java.io.IOException
- if an I/O error occurs.
-
write
public void write(byte[] b) throws java.io.IOException
Encodesb.length
bytes to this output stream.- Overrides:
write
in classjava.io.FilterOutputStream
- Parameters:
b
- the data to be written.- Throws:
java.io.IOException
- if an I/O error occurs.
-
write
public void write(int c) throws java.io.IOException
Encodes the specifiedbyte
to this output stream.- Overrides:
write
in classjava.io.FilterOutputStream
- Parameters:
c
- thebyte
.- Throws:
java.io.IOException
- if an I/O error occurs.
-
flush
public void flush() throws java.io.IOException
Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
- if an I/O error occurs.
-
close
public void close() throws java.io.IOException
Forces any buffered output bytes to be encoded out to the stream and closes this output stream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
- for I/O errors
-
output
protected void output(int c, boolean encode) throws java.io.IOException
- Throws:
java.io.IOException
-
-