BeanIO 2.0.4

org.beanio.stream.csv
Class CsvReader

java.lang.Object
  extended by org.beanio.stream.csv.CsvReader
All Implemented Interfaces:
RecordReader

public class CsvReader
extends Object
implements RecordReader

A CsvReader is used to parse CSV formatted flat files into records of String arrays.

The CSV format supported is defined by specification RFC 4180. By default, there is one exception: lines that span multiple records will throw an exception. To allow quoted multi-line fields, simply set multilineEnabled to true when constructing the reader.

The reader also supports the following customizations:

The reader will not recognize an escape character used outside of a quoted field.

Since:
1.0
Author:
Kevin Seim

Constructor Summary
CsvReader(Reader in)
          Constructs a new CsvReader.
CsvReader(Reader in, CsvParserConfiguration config)
          Constructs a new CsvReader.
 
Method Summary
 void close()
          Closes this input stream.
 int getRecordLineNumber()
          Returns the starting line number of the last record record.
 String getRecordText()
          Returns the raw text of the last record read or null if the end of the stream was reached.
 String[] read()
          Reads the next record from this input stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CsvReader

public CsvReader(Reader in)
Constructs a new CsvReader.

Parameters:
in - the input stream to read from

CsvReader

public CsvReader(Reader in,
                 CsvParserConfiguration config)
          throws IllegalArgumentException
Constructs a new CsvReader.

Parameters:
in - the input stream to read from
config - the reader configuration settings or null to accept defaults
Throws:
IllegalArgumentException - if a configuration setting is invalid
Since:
1.2
Method Detail

getRecordLineNumber

public int getRecordLineNumber()
Returns the starting line number of the last record record. A value of -1 is returned if the end of the stream was reached.

Specified by:
getRecordLineNumber in interface RecordReader
Returns:
the starting line number of the last record

getRecordText

public String getRecordText()
Returns the raw text of the last record read or null if the end of the stream was reached.

Specified by:
getRecordText in interface RecordReader
Returns:
the raw text of the last record

read

public String[] read()
              throws IOException,
                     RecordIOException
Reads the next record from this input stream.

Specified by:
read in interface RecordReader
Returns:
the array of field values that make up the next record read from the stream
Throws:
IOException - if an I/O error occurs
RecordIOException - if the record is malformed and cannot be parsed, but subsequent reads may still be possible

close

public void close()
           throws IOException
Description copied from interface: RecordReader
Closes this input stream.

Specified by:
close in interface RecordReader
Throws:
IOException - if an I/O error occurs closing the stream

BeanIO 2.0.4

Copyright © 2010-2013 Kevin Seim