public List<Sample> readCsv(MultipartFile file) throws Exception {
BufferedReader reader = new BufferedReader(
new InputStreamReader(
file.getInputStream(), "gbk"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<CiiSampleFlightPeople> list = new ArrayList<>();
String line = null;// 循环读取每行
reader.readLine();
while ((line = reader.readLine()) != null) {
String[] row = line.split(",");
//csv文件数据逻辑
}
}
问题记录
- 读取csv文件时发现数组越界问题,debug跟代码发现部分列没有数据,就会出现数组越界问题。
- 多文件读取:多文件解析只是传进去多个文件,解析时还是一个一个去解析的。
解决方案
1.String[] row = line.split(",",-1);//该方法不会处理掉空格
2.多文件解析:
只需将MultipartFile改为数组形式,去遍历文件即可。实现方法与单独的文件解析一样。