JavaライブラリApache Commons CSVの使い方

Apache Commons CSV(アパッチ コモンズ CSV)とは、CSV(カンマ区切り値)形式のファイルを読み書きするためのJava用ライブラリである。

概要

CSVファイルを1行ずつ読み、カンマやタブで分割して読むこともできるが、開発者本来の目的はCSVをパースすることではなく、CSVのデータを読み取って加工、転送、保存などを行うことにある。

サポートされるCSV形式

カスタムフォーマットはfluent style APIを使って作成できる。

ライブラリの適用

dependencies {
    implementation 'org.apache.commons:commons-csv:1.10.0'
}

ライブラリを使用してCSVを読む

CSVファイルを読む例は次のとおりである。

package com.devkuma.apache.commons;

import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVRecord;

public class ReadCSV {

    public static void main(String[] args) {
        try {
            Reader in = new FileReader("file.csv");
            Iterable<CSVRecord> records = CSVFormat.EXCEL.builder().setHeader().build().parse(in);
            for (CSVRecord record : records) {
                String lastName = record.get("Last Name");
                String firstName = record.get("First Name");

                System.out.print(lastName + " ");
                System.out.println(firstName);
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        System.out.println("Done");
    }
}

file.csvの内容は次のとおりである。

"Last Name","First Name"
aaaa,bbbb
cccc,dddd
eeee,ffff

実行結果:

aaaa bbbb
cccc dddd
eeee ffff
Done