「java」csvファイルの行毎に読み込む方法
環境
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 大橋 二郎 神奈川大学 東京