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

下载地址:https://pan.baidu.com/s/1i46ErFB

那如何使用呢?

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

 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"

java操作csv文件之javacsv.jar应用的更多相关文章

  1. java 操作 csv文件

    CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件中,数据“栏”以逗号分隔,可允许程序通 ...

  2. Java操作csv文件

    以前就一直很想搞懂一个问题就是java如何读取和写入csv文件,现在要花时间总结一波. 主要使用的javaCSV.jar javaCSV API:http://javacsv.sourceforge. ...

  3. 【转】Java操作CSV文件导入导出

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  4. 用javacsv API 来操作csv文件

    javacsv是国外开发的一个比较好的操作csv文件的API,这里简单讲一下用法. 先下载javacsv2.0.zip的文件,解压后,把javacsv.jar 添加到项目中.  本站下载地址: htt ...

  5. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  6. selenium java读取csv文件 (数据驱动)

    javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包.下载之后解压找到对应的. ...

  7. Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

  8. C#操作.csv文件Demo

    1.使用OleDB操作.csv文件,比较费时 public static DataTable GetDataTableFromCsv(string path,bool isFirstRowHeader ...

  9. Java操作属性文件,支持新增或更新多个属性

    Java操作属性文件.支持新增或更新多个属性 一.更新或新增单个属性的方法 /** * 写入properties信息 * @param filePath 绝对路径(包含文件名称和后缀名) * @par ...

随机推荐

  1. Unity3d在安卓android的更新(APK覆盖)

    其实这并没什么技术难点,也不是完美的热更新方案,只能说是退而求其次的一个方法. 起因主要是因为公司几个U3D项目在立项之初都没有能做好热更新的规化,导致现在要去做U3D的热更新非常难,并且项目已处于中 ...

  2. 转:/etc/inittab文件的字段及其说明

    /etc/inittab文件中每个登记项的结构都是一样的,共分为以冒号“:”分隔的4个字段.具体如下:       identifier :  run_level  :  action  :  pro ...

  3. SCALA常规练习C

    package com.hengheng.scala abstract class Animal { def walk(speed : Int) def breathe() = { println(& ...

  4. COJ 1003 WZJ的数据结构(三)ST表

    WZJ的数据结构(三) 难度级别:B: 运行时间限制:3000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 请你设计一个数据结构,完成以下功能: 给定一个大小为N的 ...

  5. 【模拟】XMU 1055 数七

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1055 题目大意: 报数游戏,不能报7的倍数和2进制下含有111的数. 给定n,m(1& ...

  6. 读取Word文档的标题

    一:描述,将读取的文档标题添加到下拉框中 二:代码 #region 方法:得到Word文档标题的内容 public static List<string> GetTitles(int j, ...

  7. CentOS 6.4 安装 Fcitx4.0

    一.首先安装中文支持: su root yum install "@Chinese Support" exit yum remove ibus 注销再登陆 二.安装fcitx 下载 ...

  8. 关于group by【转载】

    1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.G ...

  9. Ubuntu下配置smb服务器

    一. samba的安装: sudo apt-get insall samba 二. 创建共享目录: mkdir /home/user/share sodu chmod 777 /home/user/s ...

  10. H - Food - hdu 4292(简单最大流)

    题目大意:有N个人,然后有F种食品和D种饮料,每个人都有喜欢的饮料和食品,求出来这些食品最多能满足多少人的需求. 输入描述: 分析:以前是做过类似的题目的,不过输入的信息量比较大,还是使用邻接表的好些 ...