public class UUDecoderStream
extends java.io.FilterInputStream
Modifier and Type | Field and Description |
---|---|
private byte[] |
buffer |
private int |
bufsize |
private boolean |
gotEnd |
private boolean |
gotPrefix |
private boolean |
ignoreErrors |
private boolean |
ignoreMissingBeginEnd |
private int |
index |
private LineInputStream |
lin |
private int |
mode |
private java.lang.String |
name |
private java.lang.String |
readAhead |
Constructor and Description |
---|
UUDecoderStream(java.io.InputStream in)
Create a UUdecoder that decodes the specified input stream.
|
UUDecoderStream(java.io.InputStream in,
boolean ignoreErrors,
boolean ignoreMissingBeginEnd)
Create a UUdecoder that decodes the specified input stream.
|
Modifier and Type | Method and Description |
---|---|
int |
available() |
private boolean |
decode() |
int |
getMode()
Get the "mode" field from the prefix.
|
java.lang.String |
getName()
Get the "name" field from the prefix.
|
boolean |
markSupported() |
int |
read()
Read the next decoded byte from this input stream.
|
int |
read(byte[] buf,
int off,
int len) |
private void |
readPrefix()
UUencoded streams start off with the line:
"begin
|
private java.lang.String name
private int mode
private byte[] buffer
private int bufsize
private int index
private boolean gotPrefix
private boolean gotEnd
private LineInputStream lin
private boolean ignoreErrors
private boolean ignoreMissingBeginEnd
private java.lang.String readAhead
public UUDecoderStream(java.io.InputStream in)
mail.mime.uudecode.ignoreerrors
controls whether errors in the encoded data cause an exception
or are ignored. The default is false (errors cause exception).
The System property mail.mime.uudecode.ignoremissingbeginend
controls whether a missing begin or end line cause an exception
or are ignored. The default is false (errors cause exception).in
- the input streampublic UUDecoderStream(java.io.InputStream in, boolean ignoreErrors, boolean ignoreMissingBeginEnd)
in
- the input streamignoreErrors
- ignore errors?ignoreMissingBeginEnd
- ignore missing begin or end?public int read() throws java.io.IOException
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.read
in class java.io.FilterInputStream
-1
if the end of
stream is reached.java.io.IOException
- if an I/O error occurs.FilterInputStream.in
public int read(byte[] buf, int off, int len) throws java.io.IOException
read
in class java.io.FilterInputStream
java.io.IOException
public boolean markSupported()
markSupported
in class java.io.FilterInputStream
public int available() throws java.io.IOException
available
in class java.io.FilterInputStream
java.io.IOException
public java.lang.String getName() throws java.io.IOException
java.io.IOException
- if an I/O error occurs.public int getMode() throws java.io.IOException
java.io.IOException
- if an I/O error occurs.private void readPrefix() throws java.io.IOException
java.io.IOException
private boolean decode() throws java.io.IOException
java.io.IOException