Java是怎样读取CSV的
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关Java是怎样读取CSV的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。看项目中以前的处理方式是直接用用java IO类库读取Csv文件,实际处理
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技海报
广州紫鲸互联网科技有限公司
科技互联网项目
圆梦互联网科技
合肥互联网科技公司
中国互联网科技发展
北京禾田雨橡互联网科技
广州善班互联网科技
富国互联网科技创新基金
开启互联网科技时代小说
哈尔滨新华互联网科技学院
燊美集互联网科技有限公司
内蒙古九一互联网科技
用友工业互联网科技发展
互联网金融科技名词解释
徐州市互联网科技有限公司
山东有哪些互联网科技公司
互联网科技接地气
互联网科技和医药行业
亚光科技低轨卫星互联网
互联网高科技
中关村互联网科技集团
新华互联网科技学院
上海电发互联网科技有限公司
全球科技与互联网公司市值变化
互联网公司属于科技吗
科技和互联网行业的特点
安徽零酒互联网科技有限公司
第三届互联网大会安防黑科技
前海云享互联网科技