JSaPar is a free and open source Java library providing a schema based parser/producer of CSV (Comma Separated Values) and flat files.
Here are some key features of "JSaPar":
· Support for flat files with fixed positions.
· Support for CSV files.
· The schema can be expressed with xml notation or created directly within the java code.
· The parser can either produce a Document class, representing the content of the file, or you can choose to receive events for each line that has been successfully parsed.
· Can handle huge files without loading everything into memory.
· The output Document class contains a list of lines which contains a list of cells.
· The Document class can be transformed into a Java object (via reflection) if the schema is carefully written.
· It is also possible to produce java objects directly from the parser.
· It is possible convert a list of java objects into a file according to a schema if the schema is carefully written.
· The Document class can be built from a xml file (according to an internal xml schema).
· The input and outputs are given by java.io.Reader and java.io.Writer which means that it is not necessarily files that are parsed or generated.
· The file parsing schema contains information about how to parse each cell regarding data type and syntax.
· Parsing errors can either be handled by exceptions thrown at first error or the errors can be collected during parsing to be able to deal with them later.
· JUnit tests for most classes within the library.
· Support for localisation.