2010年10月13日水曜日

JavaでCSVファイルを読むサンプル

JavaでCSVファイルを読みたい場合に、シンプルなのは、
String.split()を使えばできるが、

a,b,c,d,"dd,dd"

なんていうような形式のCSVファイルは、標準のメソッドのみで
がんばろうとすると、ちょっと工夫がいる。

なんか便利なライブラリは無いかなと探していたけど、
apacheに使えそうなライブラリがあった。
http://commons.apache.org/lang/

以下がj自分で書いて見たサンプルプログラムで意図通りに動作してくれました。

import org.apache.commons.lang.text.StrTokenizer; 

public class CsvReadTest {
/**
* @param args
*/
 public static void main(String[] args) {
  String input="a,b,c,d,\"a,f\"";
  System.out.println(input);
  StrTokenizer tk = StrTokenizer.getCSVInstance(input);
  while(tk.hasNext()){
   String stwString=(String) tk.next();
   System.out.println(stwString);
  }
 }
}

0 件のコメント: