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. Day5 双层装饰器、字符串格式化、生成器、迭代器、递归

    双层装饰器实现用户登录和权限认证 #!/usr/bin/env python# -*- coding: utf-8 -*-# Author: WangHuafeng USER_INFO = {} de ...

  2. C++学习笔记2——引用

    1. int ival = 1; int &refVal = ival; //引用必须初始化,且类型严格匹配 2. int ival = 1; int &refVal = ival; ...

  3. iphone升级ios7之后出现蓝框框一直跳的问题

    问题描述:iphone升级ios7之后出现蓝框框一直跳            解决办法:设置-通用-辅助功能-切换控制-里边打开了切换控制及自动扫描,直接关闭切换控制就好了

  4. JAVA基础(1)之hashCode()

    JAVA基础(1)之hashCode() 看到一篇关于hashCode的文章(),写的很详细明白,瞬间有种恍然大悟的感觉,所以特地转过来.原文:http://blog.csdn.net/fenglib ...

  5. HDU 3551 Hard Problem

    http://acm.hdu.edu.cn/showproblem.php?pid=3551 题意:给出一个图,还有一个子图的度数,求有没有办法通过删边使得原图的度数变成那个子图的度数? 思路:我们考 ...

  6. [Delphi]检查URL是否有效的函数

    function CheckUrl(url: string): boolean; var hSession, hfile, hRequest: hInternet; dwindex, dwcodele ...

  7. org.quartz.utils.UpdateChecker Checking for available updated version of Quartz..

    <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</ ...

  8. 从MVC框架看MVC架构的设计(转)

    尽管MVC早已不是什么新鲜话题了,但是从近些年一些优秀MVC框架的设计上,我们还是会发现MVC在架构设计上的一些新亮点.本文将对传统MVC架构中的一些弊病进行解读,了解一些优秀MVC框架是如何化解这些 ...

  9. 【转】Ubuntu Server 12.04 静态IP简洁配置

    原文网址:http://blog.csdn.net/njchenyi/article/details/8715417 1.配置静态IP地址: # vim /etc/network/interfaces ...

  10. vim插件

    所需即所获:像 IDE 一样使用 vim https://github.com/yangyangwithgnu/use_vim_as_ide mark.vim http://www.vim.org/s ...