前言
最近在做交通优化分析工具的产品时, 有一个需求是用户上传一份包含路段信息的 CSV 文件, 后端需要解析 CSV 的文件内容并将信息插入数据库中. 这是一个常规的操作, 也不复杂, 但是在实现的过程中却踩到了一个 utf-8 BOM 的坑, 随手记录一下.
实现方式
完整的实现方式如下:
在 spring 中通过 MultipartFile file 这个对象来接受前端传过来的文件
获取 file 对象的 InputStream 输入流
将上一步的输入流和定义好的 DTO 对象传给 opencsv 的 CsvToBeanBuilder 方法, CsvToBeanBuilder 方法会自动解析输入流中的内容并生成对应的 DTO List
最后根据业务需求, 生成相应的 DO 对象存入数据库
前面有坑
CSV 文件样例:
path_id,path_name
1, 文一路
2, 文二路
DTO 定义:
@Data publ
来源: https://yq.aliyun.com/articles/717568