There are four CSV reading implementations in Super CSV.
CsvBeanReader | CsvDozerBeanReader | CsvListReader | CsvMapReader | |
---|---|---|---|---|
Reads each row of CSV as a | POJO (must be a valid Javabean, or interface with setters) | POJO (must be a valid Javabean) | List<String> or List<Object> | Map<String> or Map<Object> |
Supports reading into an existing bean? | Yes | Yes | No | No |
Supports deep mapping and index-based mapping? | No | Yes | No | No |
Supports partial reading (ignoring columns)? | Yes | Yes | No | Yes |
Supports variable number of columns ? | No | No | Yes | No |
Which one you choose will depend on your requirements, but we recommend using CsvBeanReader or CsvDozerBeanReader where possible, as it's far easier to work with POJOs than Lists or Maps. Check out the reading examples to see them in action.