JavaのCSVライブラリ まとめ

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 本稿では Java で CSV を扱うためのライブラリについて、代表的な製品を紹介します。

OrangeSignal CSV

 国産の CSV ライブラリで Koji Sugisawa 氏によって開発されています。 Apache License Version 2.0 の基で自由に利用することができます。 JDK 1.6 以上で利用可能。

 後発で新しめのライブラリということもあり、とても高機能な実装になっています。 CSVテキストへのアクセスだけではなく、ZIPファイル内にあるCSVファイルにアクセスすることもできる等、”CSV周り”の機能も持っています。 一度試してみる価値はあるライブラリです。

OrangeSignal CSV
http://orangesignal.github.io/orangesignal-csv/index.html

Super CSV

 次に紹介するのは、2007年から開発されている Super CSV。 2014年07月現在では ver2.2 が最新版ですが、ロードマップを見ると ver.3 の構想もあるようで、開発に継続的なことが覗えます。 Apache License Version 2.0 の基で自由に利用することができます。 JDK 1.5 以上で利用可能。

Super CSV
http://supercsv.sourceforge.net/

opencsv

 次に紹介するのは、2005年に開発が始まり歴史の長い opencsv です。 しかし2011年から更新が行われておらず、開発がストップしているかもしれません。 上記のライブラリ同様、Apache License Version 2.0 の基で自由に利用することができ、JDK 1.5 以上で利用可能です。

先駆け的なライブラリであることもあり、上記のライブラリと比較すると機能はとてもシンプルです。

opencsv
http://opencsv.sourceforge.net/

s2csv

 国産フレームワーク Seasar2 のプロジェクトで開発されている CSV ライブラリです。 Seasar2 を利用して開発しているプロジェクトであれば採用しても良いでしょう。 但し、上記のプロダクトよりも機能が劣っている感じがします。 改行コードが ¥r¥n 固定 (s2csvのソースにハードコーディングされている) なので、個人的には採用を見送ることが多いです。 実装要件を満たせて Seasar2 プロダクトでプロジェクトを固めたい場合などに利用すれば良いかも知れませんが、無理に固執する必要もないかと思っています。

s2csv
http://s2csv.sandbox.seasar.org/

おわりに

 本稿では Java で CSV を扱うためのライブラリについて紹介しました。 じつは OrangeSignal CSV のプロジェクトページに機能比較表があるのを本稿執筆時に発見しました、そちらが参考になると思います。 所感としては OrangeSignal CSV が高機能ですので何か問題に直面するまでは OrangeSignal CSV を使ってみたいと思っています。

Java環境構築へ戻る

Javaのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca