うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

Orange Signal CSV を使って簡単CSV操作!

スポンサーリンク

superCSVに続きjavaCSVファイル操作ライブラリを紹介します. 今回は OrangeSignal CSV です. このライブラリは,非常に簡潔に入出力を書くことができます.

入力例

List<String[]> list = Csv.load(new File("example.csv"), new CsvConfig(), new StringArrayListHandler());

Csv.load()メソッドでロード.クラスCsvConfigは区切り文字やエスケープ文字の設定を担当するクラスです.

出力例

Csv.save(list, new File("example.csv"), new CsvConfig(), new StringArrayListHandler());

Csv.save() でセーブ.

注意

デフォルトだと改行のみの行もリストに加えてしまいます.その場合は引数にするCsvConfigをいじります.

CsvConfig cfg = new CsvConfig();
cfg.setIgnoreEmptyLines(true);                       // 空行を無視するようにします。

このあと,cfgCsv.load等の引数に入れてください.

その他

List<String[]>以外にも,javaBean形式やResultSet形式,List<Map<String, String>>等での操作も可能です.また,ZipやLSHのファイルをそのまま入力することも可能です.かなり高機能ですね.

欠点

SuperCSVにも言えますが,追記書き込みの仕方がよくわからない…結局PrintWriter使っちゃってます.