KazMuzik.net
Music / Technology / Healthcare / Immigration / アメリカ
Google
 
<< 会社員 or 個人事業 - やさしい経済 #8資産の変動と収支 - やさしい経済 #9 >>

opencsv - KazMuzik Blog
2008-04-06 18:53

Java のプログラムで、データを、CSV (comma-separated values) 形式でファイルから読み込んだり、ファイルに書いたりすることは、そんなに頻繁ではなくても、たまに必要になることがあります。だいたいは、その場で、in.readLine().split(","); のようなコードを書いて、すますことが多いのですが、データに','(comma) が含まれていたり、'"'(quote) で囲まれていたときにデータの '"' をエスケープしたり、またデータが複数行にわたっていた場合の処理などがあると、汎用的な parser を書くのはけっこうめんどうになってきます。

そこで、ちょこっと探していたところ、opencsv というのがありました。
import java.io.InputStreamReader;
import java.util.Arrays;
import au.com.bytecode.opencsv.CSVReader;

public class CSVReaderTest {
  public static void main(String[] args) throws Exception {
    CSVReader in = new CSVReader(new InputStreamReader(System.in, "UTF-8"));
    while (true) {
      String[] values = in.readNext();
      if (values == null) {
        break;
      }
      System.out.println( Arrays.toString(values) );
    }
    in.close();
  }
} 

このような感じで、手軽に使えます。

また、SQL の ResultSet を、CSV に dump したり、CSV ファイルの、ヘッダー情報を利用して、JavaBean を作成することも、簡単にできるようです。

Tags: programming