概要
opencsvでCSVファイルを操作する
詳細
以下の手順でインストールする
・下記URLからtarボールを取得
http://sourceforge.jp/projects/sfnet_opencsv/
・mavenでビルドする
・出来上がったjarをプロジェクトのビルドパスに設定する
下記に入出力のサンプルを示します
サンプルコード
package opencsv; import java.io.ByteArrayInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; import java.util.Arrays; import java.util.List; import au.com.bytecode.opencsv.CSVReader; import au.com.bytecode.opencsv.CSVWriter; public class SampleOpenCSV { private static final String UTF_8 = "UTF-8"; public static void main(String[] args) throws IOException { readCsv(); writeCsv(); } private static void readCsv() throws UnsupportedEncodingException, IOException { String csv = "abc,def\nhij,klm"; byte[] buf = csv.getBytes(UTF_8); InputStream byteIn = new ByteArrayInputStream(buf); InputStreamReader in = new InputStreamReader(byteIn, UTF_8); CSVReader csvReader = new CSVReader(in); List<String[]> lines = csvReader.readAll(); for (String[] strings : lines) { for (String string : strings) { System.out.print(string + ","); } System.out.println(""); } csvReader.close(); } private static void writeCsv() throws UnsupportedEncodingException, IOException { List<String[]> csv = Arrays.asList(new String[] {"1", "2"}, new String[] {"3", "4"}); FileOutputStream out = new FileOutputStream("opencsv.csv"); Writer writer = new OutputStreamWriter(out); CSVWriter csvWriter = new CSVWriter(writer); csvWriter.writeAll(csv); csvWriter.close(); writer.close(); out.close(); } }
出力
abc,def, hij,klm,
出力ファイル
$cat opencsv.csv "1","2" "3","4"