|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.Reader java.io.FilterReader gnu.text.LineBufferedReader
public class LineBufferedReader
A LineNumberReader with some extra features: You can seek backwards to the start of the line preceding the current position (or the mark, if that has been set). You can use seek with a negative offset, or unread. You can also use peek to look at the next character without moving. The method getColumnNumber gives you the current column. Provides a method that is called at the start of a line. This is especially useful for interactive streams (e.g. prompting). It would be nice if we could inherit from LineNumberReader. That may be possible in theory, but it is difficult and expensive (because we don't get access to BufferedReader's buffer).
Field Summary | |
---|---|
char[] |
buffer
The input buffer, containing the current line etc. |
int |
limit
The length of the valid (data-containing) part of the buffer. |
protected int |
lineNumber
The current line number (at position of lineStartPos). |
protected int |
markPos
The position of the mark (assuming readAheadLinit > 0). |
int |
pos
The current read position, as an index into buffer. |
protected int |
readAheadLimit
If mark has been called, and not invalidated, the read ahead limit. |
char |
readState
|
Fields inherited from class java.io.FilterReader |
---|
in |
Fields inherited from class java.io.Reader |
---|
lock |
Constructor Summary | |
---|---|
LineBufferedReader(java.io.InputStream in)
|
|
LineBufferedReader(java.io.Reader in)
|
Method Summary | |
---|---|
int |
fill(int len)
Called by read() when it needs its buffer filled. |
int |
getColumnNumber()
Return the current (zero-based) column number. |
boolean |
getConvertCR()
True if CR and CRLF should be converted to LF. |
int |
getLineNumber()
Get the current line number. |
java.lang.String |
getName()
|
char |
getReadState()
Return a character that indicates what we are currently reading. |
void |
lineStart(boolean revisited)
A hook to allow sub-classes to perform some action at start of line. |
void |
mark(int readAheadLimit)
|
boolean |
markSupported()
|
int |
peek()
|
int |
read()
|
int |
read(char[] cbuf,
int off,
int len)
|
java.lang.String |
readLine()
|
void |
readLine(java.lang.StringBuffer sbuf,
char mode)
Read a line. |
boolean |
ready()
|
void |
reset()
|
void |
setBuffer(char[] buffer)
Specify a buffer to use for the input buffer. |
void |
setConvertCR(boolean convertCR)
|
void |
setLineNumber(int lineNumber)
|
void |
setName(java.lang.String name)
|
void |
skip_quick()
Same as skip(), but assumes previous command was a non-EOF peek(). |
void |
skip()
|
int |
skip(int n)
Skip forwards or backwards a number of characters. |
void |
unread_quick()
Same as unread, but only allowed after non-EOF-returning read(). |
void |
unread()
|
Methods inherited from class java.io.FilterReader |
---|
close, skip |
Methods inherited from class java.io.Reader |
---|
read, read |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public char[] buffer
public int pos
public int limit
public char readState
protected int lineNumber
protected int readAheadLimit
protected int markPos
Constructor Detail |
---|
public LineBufferedReader(java.io.InputStream in)
public LineBufferedReader(java.io.Reader in)
Method Detail |
---|
public char getReadState()
public final boolean getConvertCR()
public final void setConvertCR(boolean convertCR)
public void lineStart(boolean revisited) throws java.io.IOException
revisited
- true if we have read here before (i.e.
we did a reset of unread() to get here)
java.io.IOException
public int fill(int len) throws java.io.IOException
java.io.IOException
public void setBuffer(char[] buffer) throws java.io.IOException
java.io.IOException
public int read() throws java.io.IOException
read
in class java.io.FilterReader
java.io.IOException
public int read(char[] cbuf, int off, int len) throws java.io.IOException
read
in class java.io.FilterReader
java.io.IOException
public java.lang.String getName()
public void setName(java.lang.String name)
public int getLineNumber()
public void setLineNumber(int lineNumber)
public int getColumnNumber()
public boolean markSupported()
markSupported
in class java.io.FilterReader
public void mark(int readAheadLimit)
mark
in class java.io.FilterReader
public void reset() throws java.io.IOException
reset
in class java.io.FilterReader
java.io.IOException
public void readLine(java.lang.StringBuffer sbuf, char mode) throws java.io.IOException
java.io.IOException
public java.lang.String readLine() throws java.io.IOException
java.io.IOException
public int skip(int n) throws java.io.IOException
java.io.IOException
public boolean ready() throws java.io.IOException
ready
in class java.io.FilterReader
java.io.IOException
public final void skip_quick() throws java.io.IOException
java.io.IOException
public void skip() throws java.io.IOException
java.io.IOException
public void unread() throws java.io.IOException
java.io.IOException
public void unread_quick()
public int peek() throws java.io.IOException
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |