CSVライブラリを探してみた
Javaから使えるCSVライブラリを探してみました。
下記のようにいくつか見つかりましたが、どれを使うべきか、決め所に迷っています。
Googleの検索結果から判断すると、どれもヒット件数が大きく変わることはなく、どれが普及しているかわかりませんでした。
詳しく見ていませんが、どれも次の機能は備えているようです。
- 読み込み/書き込み機能
- JavaBeansやString配列へのマッピング
- 区切り文字や改行文字を指定
SuperCSV Version 1.52
- http://supercsv.sourceforge.net/
- ライセンス:Apache License Version 2.0
- 高機能ですね。さらに独自拡張できるような仕組みも用意されています。
opencsv Version 2.0.1
- http://opencsv.sourceforge.net/
- ライセンス:Apache License Version 2.0
- これも高機能そうですね。
blancoCSV Version 1.0.0
- http://www.igapyon.jp/blanco/blancocsv.html
- 他のライブラリと異なり、CSV読み書きのソースコードを自動生成するライブラリになります。
- Excelの定義書に必要事項を記述すると、CSVファイル入出力するソースコード(Java/C#.NET)を自動生成してくれます。
- ライセンス:GNU LESSER GENERAL PUBLIC LICENSE (GNU LGPL)
- 自動生成されたソースコードは、blancoCSVライブラリが無くても動作します。
- 自動生成されたソースコードでは、あまり複雑なファイルは読み書き出来ないようです。ただし、ソースコードがありますので、必要に応じて改修すればよさそうです。
Jakarta Commons CSV
- http://jakarta.apache.org/commons/sandbox/csv/
- ライセンス:Apache License Version 2.0
- 個人的には、Jakartaブランドに安心感があるので、「Commons CSV」を選びたいところですが、ダウンロードサイトを見ると、正式リリースがまだ無かったので、完成度に不安を覚えました。
- ダウンロードしたい場合は、ナイトリービルドまたはSubversionリポジトリから取得することになります。
- もう開発がストップしている感じ?
番外編:s2csv 0.0.2 sp2
- http://s2csv.sandbox.seasar.org/
- SeasarにCSVを扱うプロジェクトがあるんですね〜。でも、リリースノートはまだ寂しい感じ。
以上、書いてみましたが、あくまでも個人的な意見です。