com.sun.mail.util
Class UUDecoderStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by com.sun.mail.util.UUDecoderStream
All Implemented Interfaces:
Closeable

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.

Author:
John Mani, Bill Shannon

Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
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
 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.FilterInputStream
close, mark, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UUDecoderStream

public UUDecoderStream(InputStream in)
Create a UUdecoder that decodes the specified input stream. The System property 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).

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 stream
ignoreErrors - 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 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.

Overrides:
read in class FilterInputStream
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 class FilterInputStream
Throws:
IOException

markSupported

public boolean markSupported()
Overrides:
markSupported in class FilterInputStream

available

public int available()
              throws IOException
Overrides:
available in class FilterInputStream
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.


Copyright © 2012 Oracle. All Rights Reserved.