問題
以下のCSVファイルを読み込む際、最初の行「名前、年齢、職業」を除いたところから読み込みを行いたい。
CSV
Java
SampleController
1package com.example; 2 3import java.io.BufferedReader; 4import java.io.IOException; 5import java.io.InputStream; 6import java.io.InputStreamReader; 7import java.io.Reader; 8import java.util.ArrayList; 9import java.util.List; 10 11import org.springframework.beans.factory.annotation.Autowired; 12import org.springframework.stereotype.Controller; 13import org.springframework.web.bind.annotation.RequestMapping; 14import org.springframework.web.bind.annotation.RequestParam; 15import org.springframework.web.multipart.MultipartFile; 16 17@Controller 18@RequestMapping("/") 19public class SampleController { 20 21@Autowired 22private SampleMapper mapper; 23 24 @RequestMapping("/insert") 25 private void fileContents(@RequestParam("upload_file")MultipartFile uploadFile) { 26 27 List<String> lines = new ArrayList<String>(); 28 29 String line = null; 30 31 try { 32 InputStream stream = uploadFile.getInputStream(); 33 Reader reader = new InputStreamReader(stream); 34 BufferedReader buf= new BufferedReader(reader); 35 36 while((line = buf.readLine()) != null) { 37 38 String[] data = line.split(",", 0); 39 40 User user = new User(); 41 user.setUserName(data[0]); 42 user.setAge(Integer.parseInt(data[1])); 43 user.setOccupation(data[2]); 44 45 mapper.insert(user); 46 47 lines.add(line); 48 } 49 50 line = buf.readLine(); 51 52 } catch (IOException e) { 53 54 line = "Can't read contents."; 55 lines.add(line); 56 e.printStackTrace(); 57 58 } 59 } 60}
現状
これだと、最初の名前、年齢、職業も入ってきてしまうため、うまくDBにインサートができません。
読み込みの際に最初の1行を読み込まない方法をご教授ください。お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/19 00:08
2020/06/19 03:23
2020/06/19 13:17