Are you looking for a very performant Csv Parser,
or even better an easy to use CsvMapper?
sfm-csv provides the most flexible CsvMapper available.
It supports Constructor injection, Factory method, Builder Pattern… The new java8 time API, the old joda time API.
Inner object mapping, join mapping.
You can also ask the row to be mapped to an object. You can then read the csv from a File, a Reader
or a CharSequence via a CheckedConsumer callback,
an Iterator or a Stream of your type.
The mapper will use the header row - the first one - to match against the property of the object. You can also specify the headers
manually if there none or if you want to skip them.
The CsvWriter allows you to create append object to an Appendable.
If no headers are specified it will generate a list of headers from the properties of the object. Though it is
better to specify the headers manually.
writing with headers not matching the property name
if you want to use a header that does not match the name of the property,
for example, if you need the email header to be “contact” you will need to
add an alias by adding RenameProperty on the column.