Java上传csv文件踩坑记
前言
最近在做交通优化分析工具的产品时,有一个需求是用户上传一份包含路段信息的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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Kotlin的分享
在公司部门小组中做了一次kotlin的分享 kotlin简介 Kotlin是由JetBrains公司(IDEA开发者)所开发的编程语言,其名称来自于开发团队附近的科特林岛。 多平台开发JVM :Android; Server-SideJavascript:前端Native(beta) :开发原生应用 windows、macos、linux Swift与Kotlin非常像http://nilhcem.com/swift-is-like-kotlin/ kotlin发展历程 java发展历程 JVM语言的原理 JVM规范与java规范是相互独立的只要生成的编译文件匹配JVM字节码规范,任何语言都可以由JVM编译运行.Kotlin也是一种JVM语言,完全兼容java,可以与java相互调用;Kotlin语言的设计受到Java、C#、JavaScript
- 下一篇
使用 Docker 构建 Nebula Graph 源码
Nebula Graph 介绍 Nebula Graph 是开源的高性能分布式图数据库。项目使用 C++ 语言开发,cmake 工具构建。其中两个重要的依赖是 Facebook 的 Thrift RPC 框架和 folly 库. 由于项目采用了 C++ 14 标准开发,需要使用较新版本的编译器和一些三方库。虽然 Nebula Graph 官方给出了一份开发者构建指南,但是在本地构建完整的编译环境依然不是一件轻松的事。 开发环境构建 Nebula Graph 依赖较多,且一些第三方库需本地编译安装,为了方便开发者本地编译项目源码, Nebula Graph 官方为大家提供了一个预安装所有依赖的 docker 镜像)。开发者只需如下的三步即可快速的编译 Nebula Graph 工程,参与 Nebula Graph 的开源贡献: 本地安装好 Docker 将 vesoft/nebula-dev 镜像 pull 到本地 $ docker pull vesoft/nebula-dev 运行 Docker 并挂载 Nebula 源码目录到容器的 /home/nebula 目录 $ docker ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7设置SWAP分区,小内存服务器的救世主