使用Javacsv.jar的jar包操作csv文件的方法

 更新时间:2016年08月19日 10:48:16   作者:爪哇小汉  
使用javacsv的jar包很方便的可以操作csv文件。下面通过本教程给大家介绍使用javacsv.jar操作csv文件的方法,感兴趣的朋友一起看下吧

CSV其实就是COMMA SEPARATED VALUE的缩写。csv文件是分隔文件,如果使用java的io流来写,比较麻烦,这里为大家提供一个javacsv的jar包,这个很方便操作csv文件。

下载地址:http://xiazai.jb51.net/201608/yuanma/javcsv(jb51.net).rar

那如何使用呢?

只要看看以下一个例子,您一下就明白了。

import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import org.junit.Test;
import java.io.IOException;
import java.nio.charset.Charset;
/**
* Created by javalittleman on 2016/8/18.
*/
public class TestCVS {
/**
* CSV导出
*
* @throws Exception
*/
@Test
public void exportCsv() throws IOException {
String srcCSV = "F:/cnt_programa.csv";
String targetFile = "F:/test.csv";
CsvReader reader = new CsvReader(srcCSV, ',', Charset.forName("UTF-8"));
CsvWriter write =new CsvWriter(targetFile,',',Charset.forName("UTF-8"));
//各字段以引号标记
write.setForceQualifier(true);
//路过表头
//r.readHeaders();
//逐条读取记录,直至读完
String[] header = {};
while (reader.readRecord()) {
//把头保存起来
if (reader.getCurrentRecord()==0){
header = reader.getValues();
}
//获取当前记录位置
System.out.print(reader.getCurrentRecord() + ".");
//读取一条记录
System.out.println(reader.getRawRecord());
String[] tmp = {reader.getValues()[0],reader.getValues()[1]};
//修改记录,并只写入第一个字段和第二字段
if (!header[1].equals(tmp[1]) && ("".equals(tmp[1])||tmp==null)){
tmp[1]="空";
write.writeRecord(tmp);
}else{
write.writeRecord(new String[]{reader.getValues()[0],reader.getValues()[1]});
}
}
reader.close();
write.close();
}
} 

cnt_programa.csv文件:

"id","pid","no","serial","name","createtime"
"100000","","No100000","","公司新闻","2016/8/23 17:12:09"
"100001","","No100001","","热点资讯","2016/8/24 17:12:36"
"100046","100001","No100046","1","银行动态","2016/8/1 10:36:31"
"100052","100001","No100052","2","法律法规","2016/8/2 20:39:10"
"100088","100001","No100088","3","专业文库","2016/8/5 19:05:47" 

test.csv

"id","pid"
"100000","空"
"100001","空"
"100046","100001"
"100052","100001"
"100088","100001" 

以上所述是小编给大家介绍的使用Javacsv.jar的jar包操作csv文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 详解Spring Boot + Mybatis 实现动态数据源

    详解Spring Boot + Mybatis 实现动态数据源

    这篇文章主要介绍了Spring Boot + Mybatis 实现动态数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Spring注解@Autowired和@Resource的区别详解

    Spring注解@Autowired和@Resource的区别详解

    这篇文章主要介绍了Spring注解@Autowired和@Resource的区别详解,@Autowired与@Resource都可以用来装配bean,都可以写在字段或setter方法上,@Resource是JDK提供的注解,默认按照名称进行装配,名称可通过name属性进行指定,需要的朋友可以参考下
    2023-12-12
  • HTTP 415错误-Unsupported media type详解

    HTTP 415错误-Unsupported media type详解

    这篇文章主要介绍了HTTP 415错误-Unsupported media type详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • springmvc下实现登录验证码功能示例

    springmvc下实现登录验证码功能示例

    本篇文章主要介绍了springmvc下实现登录验证码功能示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Java线上问题排查神器Arthas实战原理解析

    Java线上问题排查神器Arthas实战原理解析

    原先我们Java中我们常用分析问题一般是使用JDK自带或第三方的分析工具如jstat、jmap、jstack、 jconsole、visualvm、Java Mission Control、MAT等,还有一款神器Arthas工具,可帮助程序员解决很多繁琐的问题,感兴趣的朋友一起看看吧
    2022-01-01
  • 深入解析java中的静态代理与动态代理

    深入解析java中的静态代理与动态代理

    本篇文章是对java中的静态代理与动态代理进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • 关于Java中的try-with-resources语句

    关于Java中的try-with-resources语句

    这篇文章主要介绍了关于Java中的try-with-resources语句,try-with-resources是Java中的环绕语句之一,旨在减轻开发人员释放try块中使用的资源的义务,需要的朋友可以参考下
    2023-05-05
  • 浅析Spring基于注解的AOP

    浅析Spring基于注解的AOP

    Spring是一个广泛应用的框架,SpringAOP则是Spring提供的一个标准易用的aop框架,依托Spring的IOC容器,提供了极强的AOP扩展增强能力,对项目开发提供了极大地便利
    2022-11-11
  • mybatis 延迟加载的深入理解

    mybatis 延迟加载的深入理解

    这篇文章主要介绍了mybatis 延迟加载的深入理解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 详解Spring中Bean后置处理器(BeanPostProcessor)的使用

    详解Spring中Bean后置处理器(BeanPostProcessor)的使用

    BeanPostProcessor 接口也被称为Bean后置处理器,通过该接口可以自定义调用初始化前后执行的操作方法。本文将详细讲讲它的使用,需要的可以参考一下
    2022-06-06

最新评论