「java」csvファイルの行毎に読み込む方法

2022年6月26日

環境
JavaSe-17
Spring Tool Suite 4.13

書式
BufferdReaderクラスのCSVファイルの行を読み込むメソッドreadLineを利用します。
readLineで読み込んだ1行分の文字列(line)を分割するには、splitメソッドを利用します。
public class BufferedReader

一般的に、Readerに対して読込み要求が出されると、それに対応するベースとなる文字型ストリームまたはバイト・ストリームへの読込み要求が発行されます。

1.user.csv(日本語shift-jis)

番号,  名 前,    大 学,   出 身
1001,山田 太郎, 中央大学,  大阪
2002,大橋 二郎, 神奈川大学, 東京

2.使用例

package com.arkgame.study;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

public class TestDemo {
      // ファイル名
      private static final String FILENAME = "C:\\info\\user.csv";

      // 行内容をカンマで分割し、配列resArrに設定
      private static final String KANMA = ",";

      public static void main(String[] args) {
            BufferedReader br = null;
            try {
                  File file = new File(FILENAME);
                  br = new BufferedReader(new FileReader(file));
                  // 読み込み行
                  String line;
                  // 分割後のデータを保持する配列
                  String[] resArr;
                  while ((line = br.readLine()) != null) {
                        resArr = line.split(KANMA);
                        // 読み込みデータを表示
                        for (int i = 0; i < resArr.length; i++) {
                              System.out.print(resArr[i] + " ");
                        }
                        System.out.print("\n");
                  }
            } catch (Exception e) {
                  e.printStackTrace();
            } finally {
                  try {
                        br.close();
                  } catch (Exception e) {
                        System.out.println(e.getMessage());
                  }
            }
      }

}

実行結果

番号   名 前     大 学    出 身 
1001 山田 太郎  中央大学   大阪 
2002 大橋 二郎  神奈川大学  東京

 

Java

Posted by arkgame