I'm developing a java application which has to read and write a lot of different db file formats. All file handling is currently done through JDBC:ODBC and MDAC ODBC drivers. Our application supports: txt/csv (Comma Seperated Values), xls (MS Excel), mdb (MS Access) and dbf (MS FoxPro, dBase). However, we are not satisfied with the speed, stability of those drivers and the complexity of our code. Although all drivers are ODBC, they all have to be implemented a bit differently.

I'm thinking of a few alternatives:
- Find a (set of) 3rd party ODBC driver(s) with a JDBC:ODBC bridge;
- Find a (set of) 3rd party JDBC driver(s);
- Find a (set of) 3rd party native java librar(y/ies);

The minimum requirements are the support of above mentioned formats and better speed and better stability, especially in the dbf/xls area. All drivers should be able to handle a single tables with at least a few 100.000 records up to 500.000 (except for XLS of course due to its own limit of 65k records). A single 3rd party solution is preferred, but not necessary. Only serial reading and serial writing is needed, but a file has to be created from scratch. ODBC or JDBC is no requirement, direct file access is also possible.

All comments on good prior results with a certain product are appreciated. Also completely new idea's are welcome.