一、背景介绍
最近需要做一个导入,格式为.csv格式的,因为是系统间相互通信,所以限定导入格式为.csv,本篇文章做一个记录。
二、过程
因为功能开发比较着急,所以是以效率为前提: 主要代码如下:
public static List<String[]> csv(MultipartFile file) {
List<String[]> csvList = new ArrayList<String[]>();
try {
InputStreamReader is = new InputStreamReader(file.getInputStream(), "UTF-8");
CSVParser csvParser = new CSVParserBuilder().build();
CSVReader reader = new CSVReaderBuilder(is).withCSVParser(csvParser).build();
reader.skip(1);
csvList = reader.readAll();
} catch (IOException e) {
e.printStackTrace();
}
return csvList;
}
调用
List<String[]> list = CsvUtil.csv(file);
接收转换
for (String[] product : list) {
}
后面为了便于查找问题,所以将用户上传的文件保存在aliyun oss 上面
public String uploadOssResource(String path, InputStream inputStream) {
OSS ossClient = new OSSClientBuilder().build(ENDPOINT, aliKey, aliSecret);
ossClient.putObject(BUCKET, path, inputStream);
ossClient.shutdown();
return CDN_HOST + path;
}
忘记了pom 文件引入:
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>4.4</version>
</dependency>
三、总结
主要记录一下,感谢大家阅读。
|