仕事ではよくCSVファイルを読み込んで云々といった業務処理が結構必要になったりしますが、Javaのライブラリを探していたところ、よさげなライブラリが見つかりました。
opencsv - an open source csv parser for Java
ちょっと触ったところ非常にシンプルで使いやすかったのでメモっておきます。
opencsv - an open source csv parser for Java より、ダウンロード可能です。
Eclipseのプロジェクトとしてアップしました。
姓,名,年齢 とうきょう,たろう,33 東京,太郎,15
public static void main(String[] args) throws IOException { CSVReader reader = new CSVReader(new FileReader("sample.csv")); String[] nextLine; while ((nextLine = reader.readNext()) != null) { // nextLine[] is an array of values from the line System.out.println(nextLine[0] + " " + nextLine[1] + " etc..."); } }
実行結果は以下の通り。
姓 名 etc... とうきょう たろう etc... 東京 太郎 etc...
csvファイルをパースして、適切に分割してくれています。
サンプルは単純でしたが、ダブルクォート("")で囲まれたCSVやタブ区切りのファイル、""内のカンマの取り扱い、途中に改行が入るCSV、たとえば
姓,名,年齢 とうきょう,"た ろう",33 東京,太郎,15
こんなたち悪いCSVなども、正しく取り扱うことができます。すごいです。。
ColumnPositionMappingStrategy?をつかう
HeaderColumnNameTranslateMappingStrategy?をつかう
HeaderColumnNameMappingStrategy?をつかう
この記事は
現在のアクセス:98361