Package com.sun.mail.util
Class UUDecoderStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.sun.mail.util.UUDecoderStream
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class UUDecoderStream extends FilterInputStream
This class implements a UUDecoder. 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.
-
-
Constructor Summary
Constructors Constructor Description UUDecoderStream(InputStream in)
Create a UUdecoder that decodes the specified input stream.UUDecoderStream(InputStream in, boolean ignoreErrors, boolean ignoreMissingBeginEnd)
Create a UUdecoder that decodes the specified input stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
int
getMode()
Get the "mode" field from the prefix.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)
-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Constructor Detail
-
UUDecoderStream
public UUDecoderStream(InputStream in)
Create a UUdecoder that decodes the specified input stream. The System propertymail.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 propertymail.mime.uudecode.ignoremissingbeginend
controls whether a missing begin or end line cause an exception or are ignored. The default is false (errors cause exception).- Parameters:
in
- the input stream
-
UUDecoderStream
public UUDecoderStream(InputStream in, boolean ignoreErrors, boolean ignoreMissingBeginEnd)
Create a UUdecoder that decodes the specified input stream.- Parameters:
in
- the input streamignoreErrors
- ignore errors?ignoreMissingBeginEnd
- ignore missing begin or end?
-
-
Method Detail
-
read
public int read() throws IOException
Read the next decoded byte from this input stream. The byte is returned as anint
in the range0
to255
. 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.- Overrides:
read
in classFilterInputStream
- Returns:
- next byte of data, or
-1
if the end of stream is reached. - Throws:
IOException
- if an I/O error occurs.- See Also:
FilterInputStream.in
-
read
public int read(byte[] buf, int off, int len) throws IOException
- Overrides:
read
in classFilterInputStream
- Throws:
IOException
-
markSupported
public boolean markSupported()
- Overrides:
markSupported
in classFilterInputStream
-
available
public int available() throws IOException
- Overrides:
available
in classFilterInputStream
- Throws:
IOException
-
getName
public String getName() throws IOException
Get the "name" field from the prefix. This is meant to be the pathname of the decoded file- Returns:
- name of decoded file
- Throws:
IOException
- if an I/O error occurs.
-
getMode
public int getMode() throws IOException
Get the "mode" field from the prefix. This is the permission mode of the source file.- Returns:
- permission mode of source file
- Throws:
IOException
- if an I/O error occurs.
-
-