JavaライブラリApache Commons CSVの使い方
Apache Commons CSV(アパッチ コモンズ CSV)とは、CSV(カンマ区切り値)形式のファイルを読み書きするためのJava用ライブラリである。
概要
CSVファイルを1行ずつ読み、カンマやタブで分割して読むこともできるが、開発者本来の目的はCSVをパースすることではなく、CSVのデータを読み取って加工、転送、保存などを行うことにある。
サポートされるCSV形式
- RFC 4180
- MS Excel
- MySQL
- TDF
カスタムフォーマットは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