public class CsvReader extends Object implements RecordReader
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.
Constructor and Description |
---|
CsvReader(Reader in)
Constructs a new CsvReader.
|
CsvReader(Reader in,
CsvParserConfiguration config)
Constructs a new CsvReader.
|
Modifier and Type | Method and Description |
---|---|
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.
|
public CsvReader(Reader in)
in
- the input stream to read frompublic CsvReader(Reader in, CsvParserConfiguration config) throws IllegalArgumentException
in
- the input stream to read fromconfig
- the reader configuration settings or null to accept defaultsIllegalArgumentException
- if a configuration setting is invalidpublic int getRecordLineNumber()
getRecordLineNumber
in interface RecordReader
public String getRecordText()
getRecordText
in interface RecordReader
public String[] read() throws IOException, RecordIOException
read
in interface RecordReader
IOException
- if an I/O error occursRecordIOException
- if the record is malformed and cannot
be parsed, but subsequent reads may still be possiblepublic void close() throws IOException
RecordReader
close
in interface RecordReader
IOException
- if an I/O error occurs closing the stream