CSVParserは、CSVファイルを読み込むためのJavaライブラリです。値にデリミタ(通常はカンマ)や改行がある場合にも対応しています。
現在、ベータ版をリリースしています。 ソースおよびバイナリは次のリンクからダウンロードできます。
CSVファイルは、値をデリミタで区切り、レコードを改行で区切ったテキストファイルです。 基本的なルールは次のとおりです。
BasicCSVUtilityクラスを使うと簡単にCSVファイルを読み込むことができます。 状況に応じて、すべてのレコードを一括で読み込むことも、レコードを一行ずつ読み込むこともできます。
一括で読み込むには次のようにします。
public static void main(String[] args) throws IOException {
CSVUtility utility = new BasicCSVUtility();
String[][] records = null;
Reader reader = new BufferedReader(new FileReader(args[0]));
try {
records = utility.parse(reader);
} finally {
reader.close();
}
/* handle records */
}
一行ずつ読み込むには次のようにします。
public static void main(String[] args) throws IOException {
CSVUtility utility = new BasicCSVUtility();
CSVReader reader = utility.createCSVReader(
new BufferedReader(new FileReader(args[0])));
try {
String[] record = null;
while ((record = reader.readRecord()) != null) {
/* handle record */
}
} finally {
reader.close();
}
}
デリミタをカンマではなくタブにするにはBasicCSVUtilityを生成している箇所を次のようにします。
CSVUtility utility = new BasicCSVUtility(new BasicCSVParser('\t'));