net.sf.statcvs.util
public class LookaheadReader extends Object
Wraps a Reader
for line-by-line access.
This works like Iterator
: hasNextLine()
returns true if another line can be read; nextLine
reads
the next line and returns it. Additionally, getCurrentLine()
can be used to access multiple times the line returned by
nextLine().
At construction time, getCurrentLine() is undefined. nextLine() must be called once to read the first line.
Constructor and Description |
---|
LookaheadReader(Reader reader)
Creates a LookaheadReader from a source reader.
|
Modifier and Type | Method and Description |
---|---|
String |
getCurrentLine()
Returns the current line without reading a line from the source
reader.
|
int |
getLineNumber()
Returns the number of the line that would be returned by
getCurrentLine() , or 0 before the first
call to nextLine . |
boolean |
hasNextLine()
Checks if more lines are available for reading.
|
String |
nextLine()
Reads and returns a line from the source reader.
|
public LookaheadReader(Reader reader)
reader
- a reader whose contents will be returned by the
LookaheadReaderpublic String getCurrentLine()
nextLine
was not
called before.nextLine()
NoSuchElementException
- if nextLine
was not yet calledpublic String nextLine() throws IOException
IOException
- on error while reading the source readerNoSuchElementException
- if hasNextLine()
is falsepublic boolean hasNextLine() throws IOException
IOException
- on error while reading the source readerpublic int getLineNumber()
getCurrentLine()
, or 0 before the first
call to nextLine
. The first line has line number 1.