I've been trying to compare CSV parser libraries for my Java application. My post will aim to capture most of the popular ones talked about.
The popular ones I looked into are:
- OpenCSV ( http://opencsv.sourceforge.net/)
- OpenCSV forked (https://code.google.com/p/opencsv/)
- SuperCSV (http://supercsv.sourceforge.net/)
- JSefa (http://sourceforge.net/projects/jsefa)
- Apache Commons CSV (http://commons.apache.org/proper/commons-csv/index.html)
OpenCSV Reviewing the different Stackoverflow votes from other posts, OpenCSV seems to be the most popular. But it hasn't been updated in a long time. The last release been 3 years ago in 2011 (http://sourceforge.net/projects/opencsv/files/opencsv/).
OpenCSV forked This project came as a result of 'authors of the [OpenCSV] project do not respond'. Which gave me for reason not to use 'OpenCSV'. I haven't heard much about it, hence I'm reluctant to use it.
SuperCSV Has good documentation, and the last release was about a year ago (2013).
JSefa I really like this because of it's support for annotations, and looks really easy. And it's last updated only a few month ago. See an example of it's usage here, the first answer - https://stackoverflow.com/questions/18067934/parsing-csv-file-with-java. The only problem is I'm not able to find the Maven upload for the latest version, the version on maven is 0.9.3 which is 4 years old (Request for Maven Upload - http://sourceforge.net/p/jsefa/bugs/3/). Which demonstrates their lack of support.
Apache Commons CSV This project aims incorporate / make redundant OpenCSV, Skif CSV and GenJavaCSV. It seems all incorporating. But it is still not released, and is unknown when it will be released (currently in sandbox).
I'm interested in your personal recommendations on top of what I have already commented about these CSV libraries? Or if you know the release date, etc for these libraries. Especially JSefa, since it's annotations looks so easy to use? And Apache Commons, the all encapsulating, but not yet released?
============
References:
- Any good library to read and write csv files?
- https://stackoverflow.com/questions/18067934/parsing-csv-file-with-java
- https://stackoverflow.com/questions/12410538/which-is-the-best-csv-parser-in-java
- Can you recommend a Java library for reading (and possibly writing) CSV files?
- http://www.xinotes.net/notes/note/1383/ (compare different libraries)
=================
Edit
23/09/2014 (thanks Kane)
- OpenCSV v3.0 just came out
- Apache Commons-CSV out of sand box
14/10/2014
- JSefa updated recently