|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.Reader java.io.BufferedReader org.apache.commons.net.io.DotTerminatedMessageReader
public final class DotTerminatedMessageReader
DotTerminatedMessageReader is a class used to read messages from a server that are terminated by a single dot followed by a <CR><LF> sequence and with double dots appearing at the begining of lines which do not signal end of message yet start with a dot. Various Internet protocols such as NNTP and POP3 produce messages of this type.
This class handles stripping of the duplicate period at the beginning of lines starting with a period, and ensures you cannot read past the end of the message.
Note: versions since 3.0 extend BufferedReader rather than Reader, and no longer change the CRLF into the local EOL. Also only DOT CR LF acts as EOF.
Field Summary |
---|
Fields inherited from class java.io.Reader |
---|
lock |
Constructor Summary | |
---|---|
DotTerminatedMessageReader(Reader reader)
Creates a DotTerminatedMessageReader that wraps an existing Reader input source. |
Method Summary | |
---|---|
void |
close()
Closes the message for reading. |
int |
read()
Reads and returns the next character in the message. |
int |
read(char[] buffer)
Reads the next characters from the message into an array and returns the number of characters read. |
int |
read(char[] buffer,
int offset,
int length)
Reads the next characters from the message into an array and returns the number of characters read. |
String |
readLine()
Read a line of text. |
Methods inherited from class java.io.BufferedReader |
---|
mark, markSupported, ready, reset, skip |
Methods inherited from class java.io.Reader |
---|
read |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DotTerminatedMessageReader(Reader reader)
reader
- The Reader input source containing the message.Method Detail |
---|
public int read() throws IOException
read
in class BufferedReader
IOException
- If an error occurs while reading the underlying
stream.public int read(char[] buffer) throws IOException
read
in class Reader
buffer
- The character array in which to store the characters.
IOException
- If an error occurs in reading the underlying
stream.public int read(char[] buffer, int offset, int length) throws IOException
read
in class BufferedReader
buffer
- The character array in which to store the characters.offset
- The offset into the array at which to start storing
characters.length
- The number of characters to read.
IOException
- If an error occurs in reading the underlying
stream.public void close() throws IOException
If the end of the message has not yet been reached, this method will read the remainder of the message until it reaches the end, so that the underlying stream may continue to be used properly for communicating with the server. If you do not fully read a message, you MUST close it, otherwise your program will likely hang or behave improperly.
close
in interface Closeable
close
in class BufferedReader
IOException
- If an error occurs while reading the
underlying stream.public String readLine() throws IOException
readLine
in class BufferedReader
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |