teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

catchの書き忘れを修正

2021/08/04 22:00

投稿

senior_golfer
senior_golfer

スコア267

answer CHANGED
@@ -27,6 +27,7 @@
27
27
  System.out.println("<" + csvMembersData[0] + ":" + csvMembersData[2] + ">");
28
28
  }
29
29
  bufferedReader.close();
30
+ }catch
30
31
  ```
31
32
  最後に、次を追加する。
32
33
  ```ここに言語を入力

4

読込み部分の修正

2021/08/04 21:59

投稿

senior_golfer
senior_golfer

スコア267

answer CHANGED
@@ -10,19 +10,23 @@
10
10
  を準備します。なぜ「3」なのかは考えてみてください。
11
11
 
12
12
  次に読込み部分は次のように変更
13
+ tryの前に次の2行を追加
14
+ String CSV_fileName = "look.csv";
15
+ String line;
16
+
17
+ そしてtry catchの中を以下に変更
13
18
  ```ここに言語を入力
14
- String CSV_fileName = "look.csv";
15
- String data;
16
19
  try {
17
20
  //人名データの読込み
18
21
  BufferedReader bufferedReader = null;
19
22
  bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(CSV_fileName),"Windows-31J"));
20
23
 
21
- while ((data = bufferedReader.readLine()) != -1) {
24
+ while ((line = bufferedReader.readLine()) != null) {
22
-    StringTokenizer st = new StringTokenizer(data, ",",true);
25
+     StringTokenizer st = new StringTokenizer(line, ",",true);
23
- csv_Separates(st);
26
+ csv_Separates(st);
24
- System.out.println("<" + csvMembersData[1] + ":" + csvMembersData[3] + ">");
27
+ System.out.println("<" + csvMembersData[0] + ":" + csvMembersData[2] + ">");
25
- }
28
+ }
29
+ bufferedReader.close();
26
30
  ```
27
31
  最後に、次を追加する。
28
32
  ```ここに言語を入力
@@ -30,10 +34,10 @@
30
34
  int stringCount = 0;
31
35
  //csvfileをカンマで分割する。
32
36
  while (st.hasMoreTokens()) {
33
- stringCount++;
34
37
  csvMembersData[stringCount] = st.nextToken();
35
38
  //内容表示用
36
39
  System.out.println("< " + csvMembersData[stringCount]);
40
+ stringCount++;
37
41
  }
38
42
  }
39
43
  ```

3

読込み方法変更

2021/08/04 21:56

投稿

senior_golfer
senior_golfer

スコア267

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  BufferedReader bufferedReader = null;
19
19
  bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(CSV_fileName),"Windows-31J"));
20
20
 
21
- while ((data = filereader.read()) != -1) {
21
+ while ((data = bufferedReader.readLine()) != -1) {
22
22
     StringTokenizer st = new StringTokenizer(data, ",",true);
23
23
  csv_Separates(st);
24
24
  System.out.println("<" + csvMembersData[1] + ":" + csvMembersData[3] + ">");

2

読込み方法の変更

2021/08/04 14:50

投稿

senior_golfer
senior_golfer

スコア267

answer CHANGED
@@ -9,9 +9,15 @@
9
9
  private String csvMembersData[] = new String[3];
10
10
  を準備します。なぜ「3」なのかは考えてみてください。
11
11
 
12
- 次に読込み部分は最初のwhile文をそのまま利用して次のように変更
12
+ 次に読込み部分は次のように変更
13
13
  ```ここに言語を入力
14
+ String CSV_fileName = "look.csv";
14
15
  String data;
16
+ try {
17
+ //人名データの読込み
18
+ BufferedReader bufferedReader = null;
19
+ bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(CSV_fileName),"Windows-31J"));
20
+
15
21
  while ((data = filereader.read()) != -1) {
16
22
     StringTokenizer st = new StringTokenizer(data, ",",true);
17
23
  csv_Separates(st);

1

読込むデータの形式を変更した。

2021/08/04 14:47

投稿

senior_golfer
senior_golfer

スコア267

answer CHANGED
@@ -11,6 +11,7 @@
11
11
 
12
12
  次に読込み部分は最初のwhile文をそのまま利用して次のように変更
13
13
  ```ここに言語を入力
14
+ String data;
14
15
  while ((data = filereader.read()) != -1) {
15
16
     StringTokenizer st = new StringTokenizer(data, ",",true);
16
17
  csv_Separates(st);