|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.commons.csv.CSVParser
public class CSVParser
Parses CSV files according to the specified configuration.
Because CSV appears in many different dialects, the parser supports many configuration settings by allowing the
specification of a CSVFormat.
To parse a CSV input with tabs as separators, '"' (double-quote) as an optional value encapsulator, and comments starting with '#', you write:
Reader in = new StringReader("a\tb\nc\td");
Iterable<CSVRecord> parser = CSVFormat.newBuilder()
.withCommentStart('#')
.withDelimiter('\t')
.withQuoteChar('"').parse(in);
for (CSVRecord csvRecord : parse) {
...
}
To parse CSV input in a given format like Excel, you write:
Reader in = new StringReader("a;b\nc;d");
Iterable<CSVRecord> parser = CSVFormat.EXCEL.parse(in);
for (CSVRecord record : parser) {
...
}
You may also get a List of records:
Reader in = new StringReader("a;b\nc;d");
CSVParser parser = new CSVParser(in, CSVFormat.EXCEL);
List<CSVRecord> list = parser.getRecords();
Internal parser state is completely covered by the format and the reader-state.
see package documentation for more details
| Constructor Summary | |
|---|---|
CSVParser(Reader input)
CSV parser using the default CSVFormat. |
|
CSVParser(Reader input,
CSVFormat format)
Customized CSV parser using the given CSVFormat |
|
CSVParser(String input,
CSVFormat format)
Customized CSV parser using the given CSVFormat |
|
| Method Summary | |
|---|---|
Map<String,Integer> |
getHeaderMap()
Returns a copy of the header map that iterates in column order. |
long |
getLineNumber()
Returns the current line number in the input stream. |
long |
getRecordNumber()
Returns the current record number in the input stream. |
List<CSVRecord> |
getRecords()
Parses the CSV input according to the given format and returns the content as an array of CSVRecord
entries. |
Iterator<CSVRecord> |
iterator()
Returns an iterator on the records. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CSVParser(Reader input)
throws IOException
CSVFormat.
input - a Reader containing "csv-formatted" input
IllegalArgumentException - thrown if the parameters of the format are inconsistent
IOException - If an I/O error occurs
public CSVParser(Reader input,
CSVFormat format)
throws IOException
CSVFormat
input - a Reader containing CSV-formatted inputformat - the CSVFormat used for CSV parsing
IllegalArgumentException - thrown if the parameters of the format are inconsistent
IOException - If an I/O error occurs
public CSVParser(String input,
CSVFormat format)
throws IOException
CSVFormat
input - a String containing "csv-formatted" inputformat - the CSVFormat used for CSV parsing
IllegalArgumentException - thrown if the parameters of the format are inconsistent
IOException - If an I/O error occurs| Method Detail |
|---|
public Map<String,Integer> getHeaderMap()
The map keys are column names. The map values are 0-based indices.
public long getLineNumber()
public long getRecordNumber()
public List<CSVRecord> getRecords()
throws IOException
CSVRecord
entries.
The returned content starts at the current parse-position in the stream.
CSVRecord entries, may be empty
IOException - on parse error or input read-failurepublic Iterator<CSVRecord> iterator()
iterator in interface Iterable<CSVRecord>
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||