org.apache.commons.io
public class LineIterator extends Object implements Iterator
Reader
.
LineIterator
holds a reference to an open Reader
.
When you have finished with the iterator you should close the reader
to free internal resources. This can be done by closing the reader directly,
or by calling the close or closeQuietly
method on the iterator.
The recommended usage pattern is:
LineIterator it = FileUtils.lineIterator(file, "UTF-8"); try { while (it.hasNext()) { String line = it.nextLine(); /// do something with line } } finally { LineIterator.closeQuietly(iterator); }
Since: Commons IO 1.2
Version: $Id: LineIterator.java 437567 2006-08-28 06:39:07Z bayard $
Field Summary | |
---|---|
BufferedReader | bufferedReader The reader that is being read. |
String | cachedLine The current line. |
boolean | finished A flag indicating if the iterator has been fully read. |
Constructor Summary | |
---|---|
LineIterator(Reader reader)
Constructs an iterator of the lines for a Reader .
|
Method Summary | |
---|---|
void | close()
Closes the underlying Reader quietly.
|
static void | closeQuietly(LineIterator iterator)
Closes the iterator, handling null and ignoring exceptions.
|
boolean | hasNext()
Indicates whether the Reader has more lines.
|
protected boolean | isValidLine(String line)
Overridable method to validate each line that is returned.
|
Object | next()
Returns the next line in the wrapped Reader .
|
String | nextLine()
Returns the next line in the wrapped Reader .
|
void | remove()
Unsupported.
|
Reader
.
Parameters: reader the Reader
to read from, not null
Throws: IllegalArgumentException if the reader is null
Reader
quietly.
This method is useful if you only want to process the first few
lines of a larger file. If you do not close the iterator
then the Reader
remains open.
This method can safely be called multiple times.Parameters: iterator the iterator to close
Reader
has more lines.
If there is an IOException
then close will
be called on this instance.
Returns: true
if the Reader has more lines
Throws: IllegalStateException if an IO exception occurs
Parameters: line the line that is to be validated
Returns: true if valid, false to remove from the iterator
Reader
.
Returns: the next line from the input
Throws: NoSuchElementException if there is no line to return
Reader
.
Returns: the next line from the input
Throws: NoSuchElementException if there is no line to return
Throws: UnsupportedOperationException always