【Java】MapをCSVに出力する手順

この記事ではJavaのMapをCSVに出力する手順について解説します。
JavaのMapをCSVに出力するには以下の手順にて実施可能です。
- ヘッダ項目を配列で定義する
- 定義した配列の項目を元にMapから値を取り出してセットする
具体的には以下のとおり実装します。
try (BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("Z:/WKJava/ファイル作成/map.csv"), StandardCharsets.UTF_8))){
// ヘッダー出力
for (int i =0; i < ヘッダー定義.length; i++) {
String ヘッダ項目 = ヘッダー定義[i];
// 最終行はカンマなし
if (i == ヘッダー定義.length -1) {
writer.write("\"" + ヘッダ項目 + "\"");
} else {
writer.write("\"" + ヘッダ項目 + "\",");
}
}
writer.newLine();
// MapのListからMapを取り出し、CSVに出力
Map<String, Object> 出力用map = new HashMap<>();
String 出力項目 ="";
for (int i =0; i < ListMap.size(); i++) {
出力用map = ListMap.get(i);
for (int j =0; j < ヘッダー定義.length; j++) {
出力項目 = (String) 出力用map.get(ヘッダー定義[j]);
// 最終行はカンマなし
if (j == ヘッダー定義.length -1) {
writer.write("\"" + 出力項目 + "\"");
writer.newLine();
} else {
writer.write("\"" + 出力項目 + "\",");
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 実行結果
[{番号=1, 名前=テスト1}, {番号=2, 名前=テスト2}]
出力されるファイルは以下となります。

Javaの記事の一覧はJava にまとめてあります
