org.apache.james.util
Class DotStuffingInputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byjava.io.FilterInputStream
          extended byorg.apache.james.util.DotStuffingInputStream

public class DotStuffingInputStream
extends FilterInputStream

Removes the dot-stuffing happening during the NNTP and SMTP message transfer


Field Summary
protected  int[] last
          An array to hold the last two bytes read off the stream.
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
DotStuffingInputStream(InputStream in)
           
 
Method Summary
 int read()
          Read through the stream, checking for '\r\n.'
 int read(byte[] b, int off, int len)
          Read through the stream, checking for '\r\n.'
 
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

last

protected int[] last
An array to hold the last two bytes read off the stream. This allows the stream to detect '\r\n' sequences even when they occur across read boundaries.

Constructor Detail

DotStuffingInputStream

public DotStuffingInputStream(InputStream in)
Method Detail

read

public int read()
         throws IOException
Read through the stream, checking for '\r\n.'

Returns:
the byte read from the stream
Throws:
IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Read through the stream, checking for '\r\n.'

Parameters:
b - the byte array into which the bytes will be read
off - the offset into the byte array where the bytes will be inserted
len - the maximum number of bytes to be read off the stream
Returns:
the number of bytes read
Throws:
IOException


"Copyright © 1999-2006 Apache Jakarta Project. All Rights Reserved."