Кто-нибудь может порекомендовать простой API, который позволит мне использовать чтение входного файла CSV, выполнить несколько простых преобразований, а затем записать его.
// если первая строка является строкой заголовка[] header = reader.readNext(); // перебирайте reader.readNext до тех пор, пока он не вернет нулевую строку[] line = reader.readNext();
Обновление: Код в этом ответе предназначен для Super CSV 1.52. Обновленные примеры кода для Super CSV 2.4.0 можно найти на веб-сайте проекта: http://super-csv.github.io/super-csv/index.html
Чтение описания формата CSV заставляет меня почувствовать, что использование сторонней библиотеки было бы меньшей головной болью, чем написание ее самому:
Я сравнил перечисленные библиотеки, используя что-то вроде контрольного списка. OpenCSV оказался для меня победителем (YMMV) со следующими результатами:
+ maven
+ maven - release version // had some cryptic issues at _Hudson_ with snapshot references => prefer to be on a safe side
+ code examples
+ open source // as in "can hack myself if needed"
+ understandable javadoc // as opposed to eg javadocs of _genjava gj-csv_
+ compact API // YAGNI (note *flatpack* seems to have much richer API than OpenCSV)
- reference to specification used // I really like it when people can explain what they're doing
- reference to _RFC 4180_ support // would qualify as simplest form of specification to me
- releases changelog // absence is quite a pity, given how simple it'd be to get with maven-changes-plugin // _flatpack_, for comparison, has quite helpful changelog
+ bug tracking
+ active // as in "can submit a bug and expect a fixed release soon"
+ positive feedback // Recommended By 51 users at sourceforge (as of now)