【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 にまとめてあります