前提・実現したいこと
csvファイルを読み込み出力する工程を、
1、ファイルの読み込み
2、データの格納
3、出力
といった3つのメソッドに分ける。
■ここに質問の内容を詳しく書いてください。
javaでメソッド化、引き数・戻り値の値の受け渡し、についてのの勉強中です。
発生している問題・エラーメッセージ
BufferedReaderをStringに変換できません
該当のソースコード
java
1import java.io.BufferedReader; 2import java.io.FileNotFoundException; 3import java.io.FileReader; 4import java.io.IOException; 5import java.util.ArrayList; 6import java.util.List; 7 8 9class Study { 10 11 /** ファイルを読み込むメソッド */ 12 public ArrayList<String> csvRead(String PATH) { 13 try { 14 BufferedReader br = new BufferedReader(new FileReader(PATH)); 15 ArrayList<String> brLine = new ArrayList<>(); 16 brLine.add(br); 17 //BufferedReaderをStringに変換できません 18 19 } catch (FileNotFoundException e) { 20 System.out.print("ファイルがありません。"); 21 } catch (IOException e) { 22 System.out.print("例外が発生しました。"); 23 } finally { 24 try { 25 br.close(); 26 } catch (Exception e) { 27 System.out.print("ファイルのクローズに失敗しました。"); 28 } 29 return brLine; 30 } 31 } 32 33 /** データを格納する */ 34 public String[] csvInput(ArrayList<String> valuesDate) { 35 String line; 36 while ((line = valuesDate.readLine()) != null) { 37 String[] values = valuesDate.split(","); 38 } 39 return values; 40 } 41 42 /** 出力 */ 43 public void csvShow(String[] csvValues) { 44 for (int i = 0; i < csvValues.length(); i++) { 45 System.out.print("[" + csvValues[i] + "]"); 46 } 47 System.out.println(); 48 } 49 50 /** メインメソッド */ 51 public static void main(String[] args) { 52 String PATH ="/Users/○○○○/XXXXXX.csv"; 53 ArrayList<String> valuesDate = csvRead(PATH); 54 String[] csvValues = csvInput(valuesDate); 55 csvShow(csvValues); 56 } 57} 58
試したこと
brをリストに入れる。
補足情報(FW/ツールのバージョンなど)
ファイルは
[ID][名前][アドレス][性別][年齢][生年月日][出身地]といった感じです。
これを単純に連続して出力します。
命題について引っかかっている段階で、
全体的にコードがめちゃくちゃかと思いますが、よろしくお願い致します。
java 17
mac os
vscode