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'));