Super CSV is a free Java CSV framework. It has been developed over around a year by now and according to Source Forge statistics (which I don't really believe ;) has been downloaded a frightening number of times. Well, that is before their statistics module broke down some months ago.
I know that CSV files really have gone out of fashion, but this is really unfortunate. If you didn't know it, I don't think too highly of XML. I've tried it project after project, XML is regarded the holy grail and all you get out of it is slugish'ness. Anyway, here is the latest release of Super CSV. Many thanks to Dominique De Vito for his many ideas and contributions.
Enough talking, it's time for the juicy details of the release...
- Added the following cell processors
- Equals - test if all values are equals alone, or equals to a given constant
- FmtBoot - format as a string any Boolean value
- HashMapper - to map encountered values with other objects/values
- IsIncludedIn - to ensure input value belongs to a specific set of given values
- NotNull - to ensure non-null values for columns
- ParseBigDecimal - parse a string to get a big decimal
- StrNotNullOrEmpty - to ensure non-null or empty values for columns
- StrReplace - for string manipulation
- StrRegExReplace - for string manipulation
- Deprecated the following cell processors
- "Required", re-implemented as "RequiredHashCode"
- Unique has been renamed to UniqueHashCode
- A new processor named Unique has been implemented
- The Unique processor is now based on equals() identity and not anymore on hashCode() identity. Previous definition based on hashCode() has been renamed into UniqueHashCode.
- BeanReader and BeanWriter now supports method overloading of get/set methods.
- Cell processors now only throw SuperCSVException
- Added the following exceptions
- NullInputException: this exception is raised now for unexpected 'null' input value for processor. Numerous processors have been modified to use that exception class.
- better handling of lines without the expected number of columns
- The raised exception is now associated with a valid CSVContext object (previously, this object was 'null')
- Better error messages, more context information in the exception and available to the programmer
From : firstclassthoughts.co.uk