Java是怎样读取CSV的
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章给大家分享的是有关Java是怎样读取CSV的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。看项目中以前的处理方式是直接用用java IO类库读取Csv文件,实际处理
千家信息网最后更新 2025年11月11日Java是怎样读取CSV的
这篇文章给大家分享的是有关Java是怎样读取CSV的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
看项目中以前的处理方式是直接用用java IO类库读取Csv文件,实际处理中发现Csv文件本身包含了对各种特殊字符的处理信息。最常见的比如:
1. 对包含特殊字符的字符串数据首尾加双引号
2. 对数据中的单个双引号前加单个双引号
其它...
所以用Java IO读到的字符串全是经过处理后的字符串,在某些场景下是不符合预期需求的。比如我需要的是不做任何处理的原始内容。
项目中另一种常见的文件格式Excel用了POI来处理,但是POI不支持Csv格式,于是找到了javacsv。
代码很简单:
Java代码
public List importCsv(String file) { List list = new ArrayList(); CsvReader reader = null; try { //初始化CsvReader并指定列分隔符和字符编码 reader = new CsvReader(file, ',', Charset.forName("GBK")); while (reader.readRecord()) { //读取每行数据以数组形式返回 String[] str = reader.getValues(); if (str != null && str.length > 0) { if (str[0] != null && !"".equals(str[0].trim())) { list.add(str); } } } } catch (FileNotFoundException e) { log.error("Error reading csv file.",e); } catch (IOException e) { log.error("",e); } finally { if(reader != null) //关闭CsvReader reader.close(); } return list; }以上代码有几个要点:
1 初始化CsvReader时指定分隔符和字符编码,如果不指定,默认分别为逗号和ISO-8859-1,我用了GBK,具体使用时要看当时的字符编码而定。
2 读取每行数据,返回字符串数组,数组内的顺序即文件数据列的顺序
3 ***记得关闭CsvReader
是不是很简单,返回的数组格式也正好是我想要的,而且拿到是原始的数据,没有经过特殊字符处理。
有些同学质疑特殊字符未经处理,插到数据库会出错,其实大可不必我们手工处理,一些基础组件比如JDBC的preparedstatement已经包含了对特殊字符的处理,我们只要以绑定参数的形式来传送这些包含特殊字符的数据就可以。常用的持久化框架底层也封装了JDBC,自然也对特殊字符做了处理。
感谢各位的阅读!关于"Java是怎样读取CSV的"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
字符
处理
数据
特殊
字符串
数组
文件
代码
内容
引号
格式
编码
原始
分隔符
单个
常见
形式
更多
篇文章
项目
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
威海跑腿app软件开发多少钱
互联网时代科技期刊的前景
网络安全成果发布会
华为服务器添加nvme做系统
如何网络安全维护
深圳布吉岛的互联网科技公司
计算机网络技术岗位介绍
数据库基础教程顾韵华电子版
小学沉溺网络安全教育
网络安全师弊端
用电脑怎么做网络服务器
澳门科技大学网络安全
魔兽跨服务器
lol服务器验证过期
哪些公司最需要网络安全应急
医院科室网络安全形势分析
vb不可识别数据库
软件开发与测试人员比例
珠海服务器风机生产商
网络安全及舆情管控成效
国泰安数据库中并购溢价从哪找
中兴服务器如何进入raid
手机里的网络安全管理怎么关闭
数据库概念设计-E-R图
魔兽跨服务器
数据库与系统部分数据不符
电视剧里真是网络安全大赛
在线mssql数据库
网络安全侵犯个人信息作文
论客私有版登录需要主服务器ip