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

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

管理人
この記事ではJavaのMapをCSVに出力する手順について解説します。

 JavaのMapをCSVに出力するには以下の手順にて実施可能です。

  1. ヘッダ項目を配列で定義する
  2. 定義した配列の項目を元に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 にまとめてあります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP