以前就一直很想搞懂一个问题就是java如何读取和写入csv文件,现在要花时间总结一波。

主要使用的javaCSV.jar

javaCSV API:http://javacsv.sourceforge.net/

jar包下载地址:

http://repo.boundlessgeo.com/main/net/sourceforge/javacsv/javacsv/2.1/javacsv-2.1.jar

直接上代码吧。

建工程时记得把javacsv的包添加到build path.

工程目录为:

test.csv是测试read的,testWrite.csv是程序执行完生成的。

代码为:

package com.ilovewl;

import java.io.IOException;
import java.nio.charset.Charset; import com.csvreader.CsvReader;
import com.csvreader.CsvWriter; public class TestCsv {
public static void read(){ String filePath = "test.csv"; try {
// 创建CSV读对象
CsvReader csvReader = new CsvReader(filePath); // 读表头
csvReader.readHeaders();
while (csvReader.readRecord()){
// 读一整行,默认是以逗号分离的
System.out.println(csvReader.getRawRecord());
// 读这行的某一列
System.out.println(csvReader.get("mobile"));
} } catch (IOException e) {
e.printStackTrace();
}
} public static void write(){ String filePath = "testWrite.csv"; try {
// 创建CSV写对象
CsvWriter csvWriter = new CsvWriter(filePath,',', Charset.forName("GBK"));
//CsvWriter csvWriter = new CsvWriter(filePath); // 写表头
String[] headers = {"姓名","年龄","性别"};
String[] content = {"面包君","18","男"};
csvWriter.writeRecord(headers);
csvWriter.writeRecord(content);
csvWriter.close(); } catch (IOException e) {
e.printStackTrace();
}
} public static void main(String a[]) {
read();
write();
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

结果示意图:

总的来说,使用javacsv的API操作起来还是挺简单的,这里只是实现了很简单的功能,如果想深入学习的话还是需要去官方的API看看更多的功能。

demo代码:https://download.csdn.net/download/lcr_happy/10595672


Java操作csv文件的更多相关文章

  1. java操作csv文件之javacsv.jar应用

    csv文件是分隔文件,如果使用java的io流来写,比较麻烦,这里为大家提供一个javacsv的jar包,这个很方便操作csv文件. 下载地址:https://pan.baidu.com/s/1i46 ...

  2. java 操作 csv文件

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

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

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

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

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

  5. 用javacsv API 来操作csv文件

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

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

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

  7. C#操作.csv文件Demo

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

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

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

  9. java读取CSV文件添加到sqlserver数据库

    在直接将CSV文件导入sqlserver数据库时出现了错误,原因还未找到,初步怀疑是数据中含有特殊字符.于是只能用代码导数据了. java读取CSV文件的代码如下: package experimen ...

随机推荐

  1. 【JavaScript】JS的坚实基础

    前言 ​ 考虑到在后面的开发中,需要大量的使用js语言去进行开发,所以准备重新规整一下javascript的知识点,专门开了一个js的专栏,用来复习一下js语言.万事开头难,要是后面写的有问题的,欢迎 ...

  2. C++ 类中 关于常量定义 理解总结

    前言 有时我们希望某些常量只在类中有效.由于#define定义的宏常量是 全局 的,不能达到目的,于是想当然地觉得应该用 const修饰 数据成员来实现.const数据成员的确是存在的,但其含义却不是 ...

  3. 反射的妙用:C#通过反射动态生成类型继承接口并实现

    起因 最近想自己鼓捣个RPC,想着简化RPC调用方式,直接申明接口,然后根据接口的属性去配置RPC调用的相关信息.有一种说法叫申明式调用. 简单来说就是,申明一个interface,动态继承并实例化, ...

  4. asp.net中挺高性能的24种方法

    那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...

  5. 一个开源的C#和cefsharp项目:逐浪字体大师pc版上线(附源码开源)

    z01逐浪字体大师,是一款基于C#和web引擎开发的字体设计软件,可以打开直接写字,也可以链接官方资源 ,附Github开源库,欢迎大家下载.客户端技术是基于wpf设计的,整个界面精美,与逐浪CMS技 ...

  6. loto示波器实践——超声波测距模块

    我们这里用到的超声波测距模块,一般是用于arduino智能小车自动避障的.经常见到的应用是使用单片机或者stm32和这种模块结合进行开发的. 我们使用LOTO示波器可以更直观和快速的看到超声波测量距离 ...

  7. I.MX启动方式和头部

    1. 启动方式 2. 头部信息 编译好的bin文件烧写到SD卡中,需要加一些头部文件,才可以执行. Image vector table,简称 IVT,IVT 里面包含了一系列的地址信息,这些地址信息 ...

  8. SpringCloud升级之路2020.0.x版-41. SpringCloudGateway 基本流程讲解(3)

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们继续分析上一节提到的 WebHandler.加入 Spring Cloud Sleut ...

  9. redis可以设置过期key回调实现延时队列

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  10. CSS Web Fonts 网络字体

    Fonts 1. CSS font-family 在 CSS 中,可以使用 font-family 属性来指定字体,浏览器渲染文字时候会根据这个属性应用于元素.如果没有指定这个属性或者指定的字体不存在 ...