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

2022年6月26日

環境
JavaSe-17
Spring Tool Suite 4.13

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
一般的に、Readerに対して読込み要求が出されると、それに対応するベースとなる文字型ストリームまたはバイト・ストリームへの読込み要求が発行されます。
一般的に、Readerに対して読込み要求が出されると、それに対応するベースとなる文字型ストリームまたはバイト・ストリームへの読込み要求が発行されます。
一般的に、Readerに対して読込み要求が出されると、それに対応するベースとなる文字型ストリームまたはバイト・ストリームへの読込み要求が発行されます。

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
番号, 名 前, 大 学, 出 身
1001,山田 太郎, 中央大学, 大阪
2002,大橋 二郎, 神奈川大学, 東京
番号, 名 前, 大 学, 出 身 1001,山田 太郎, 中央大学, 大阪 2002,大橋 二郎, 神奈川大学, 東京
番号,  名 前,    大 学,   出 身
1001,山田 太郎, 中央大学,  大阪
2002,大橋 二郎, 神奈川大学, 東京

2.使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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());
}
}
}
}
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()); } } } }
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());
                  }
            }
      }

}

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
番号 名 前 大 学 出 身
1001 山田 太郎 中央大学 大阪
2002 大橋 二郎 神奈川大学 東京
番号 名 前 大 学 出 身 1001 山田 太郎 中央大学 大阪 2002 大橋 二郎 神奈川大学 東京
番号   名 前     大 学    出 身 
1001 山田 太郎  中央大学   大阪 
2002 大橋 二郎  神奈川大学  東京

 

Java

Posted by arkgame