CsvReader can read .csv files in any characterset encoding (also with BOM) and with configurable separator and optional stringquote (delimiter).
CsvWriter can write .csv files and supports the same features as CsvReader.
There are also some other convenient optional configuration values.
For feature documentation and examples see wiki or javadoc.