回答編集履歴

1

コードを追加しました。

2020/06/18 09:53

投稿

senior_golfer
senior_golfer

スコア267

test CHANGED
@@ -5,3 +5,71 @@
5
5
  あまりスマートな方法ではないかもしれませんが、読み込んだCSVデータを数えるカウンタを作り、
6
6
 
7
7
  if文でタイトル行は読むけどDBに書き込まないとしてはどうですか。
8
+
9
+ あくまでも1行目がタイトルという前提です。
10
+
11
+ あと、DBに各処理はmapper.insert(user);はこれかなと思いましたが、
12
+
13
+ lines.add(line);も一緒に囲んでしまいました。
14
+
15
+ 適当に修正してください。
16
+
17
+
18
+
19
+
20
+
21
+ ```
22
+
23
+ String line = null;
24
+
25
+ int csfCount = 0; //追加
26
+
27
+
28
+
29
+ try {
30
+
31
+ InputStream stream = uploadFile.getInputStream();
32
+
33
+ Reader reader = new InputStreamReader(stream);
34
+
35
+ BufferedReader buf= new BufferedReader(reader);
36
+
37
+
38
+
39
+ while((line = buf.readLine()) != null) {
40
+
41
+ csvCount++; //追加
42
+
43
+ String[] data = line.split(",", 0);
44
+
45
+
46
+
47
+ User user = new User();
48
+
49
+ user.setUserName(data[0]);
50
+
51
+ user.setAge(Integer.parseInt(data[1]));
52
+
53
+ user.setOccupation(data[2]);
54
+
55
+
56
+
57
+ if(csvCount > 1){ //追加
58
+
59
+ mapper.insert(user);
60
+
61
+ lines.add(line);
62
+
63
+ }
64
+
65
+ }
66
+
67
+
68
+
69
+ line = buf.readLine();
70
+
71
+
72
+
73
+ } catch (IOException e) {
74
+
75
+ ```