使用CsvReader读取和写入csv文件的简单操作Demo:


import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Array;
import java.nio.charset.Charset;
import java.util.Arrays;/*** Created by sherry on 2018/1/29.* @noinspection ALL*/
public class testJavaCsvAPI {public static void main(String[] args) throws IOException {String writerCsvFilePath = "src/resource/writer.csv";CsvWriter csvWriter = new CsvWriter(writerCsvFilePath, ',', Charset.forName("UTF-8"));String[] contents = {"Lily","五一","90","女"};csvWriter.writeRecord(contents);csvWriter.close();String readerCsvFilePath = "src/resource/reader.csv";CsvReader csvReader = new CsvReader(readerCsvFilePath, ',', Charset.forName("UTF-8"));csvReader.readHeaders(); // 跳过表头   如果需要表头的话,不要写这句。String[] head = csvReader.getHeaders(); //获取表头while (csvReader.readRecord()){for (int i = 0; i < head.length; i++){System.out.println(head[i] + ":" + csvReader.get(head[i]));}}csvReader.close();}
}

下面是我仿照csvWriter简化实现的CsvWriter
不论是csvWriter还是csvReader都提供用户自定义分隔符方法,使用方式是:

// 例如,要使用;作为csv的分隔符csvReader.setDelimiter(';');

import java.io.*;
import java.nio.charset.Charset;public class CsvWriterUtil {private Writer outputStream;private String fileName;public char delimiter = ',';// 分隔符public Charset charset;private boolean initialized;private boolean closed;private boolean firstColumn;public CsvWriterUtil(String fileName, char delimiter, Charset charset) {this.closed = false;this.initialized = false;this.firstColumn = true;if (fileName == null) {throw new IllegalArgumentException("Parameter fileName can not be null.");}if (charset == null) {throw new IllegalArgumentException("Parameter charset can not be null.");}this.fileName = fileName;this.delimiter = delimiter;this.charset = charset;}public CsvWriterUtil(String fileName) {this(fileName, ',', Charset.forName("UTF-8"));}public CsvWriterUtil(String fileName, char delimiter) {this(fileName, delimiter, Charset.forName("UTF-8"));}public char getDelimiter() {return delimiter;}public void setDelimiter(char delimiter) {this.delimiter = delimiter;}// 自定义分隔符private void checkClosed() throws IOException {if(this.closed) {throw new IOException("This instance of the CsvWriter class has already been closed.");}}private void checkInit() throws IOException {if(!this.initialized) {if(this.fileName != null) {this.outputStream = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(this.fileName), this.charset));}this.initialized = true;}}public void write(String var1) throws IOException {this.checkClosed();this.checkInit();if(var1 == null) {var1 = "";}if(!this.firstColumn) {this.outputStream.write(this.delimiter);}if(var1.length() > 0) {var1 = var1.trim();}this.outputStream.write(var1);this.firstColumn = false;}public void writeRecord(String[] var1) throws IOException {if(var1 != null && var1.length > 0) {for(int i = 0; i < var1.length; ++i) {this.write(var1[i]);}this.endRecord();}}public void endRecord() throws IOException {this.checkClosed();this.checkInit();this.firstColumn = true;}public void flush() throws IOException {this.outputStream.flush();}public void close() {if(!this.closed) {this.charset = null;try {if (this.initialized) {this.outputStream.close();}} catch (Exception var3) {;}this.outputStream = null;this.closed = true;}}}

demo项目请见:https://github.com/haoziiy/csvReaderDemo.git

使用CsvReader读取和写入csv文件相关推荐

  1. python输出csv文件-Python之读取与写入CSV文件

    原标题:Python之读取与写入CSV文件 本文作者:闫续文 文字编辑:张梦婷 技术总编:张学人 有问题,不要怕!访问 CSV(Comma-Separated Values)格式是电子表格和数据库最常 ...

  2. csv文件python是怎么输入的,python怎么读取和写入csv文件

    Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入. 写入CSV文件impo ...

  3. pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...

    前期文章链接: YOLOv3论文 https://arxiv.org/pdf/1804.02767.pdf 正文: 有许多方法可以在Python中读写CSV文件.有几种不同的方法,例如,您可以使用Py ...

  4. [转载] pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...

    参考链接: 使用Pandas在Python中读写CSV文件 前期文章链接: YOLOv3论文 https://arxiv.org/pdf/1804.02767.pdf 正文: 有许多方法可以在Pyth ...

  5. csv java web 导入_DAY5-step9 使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据. CSV是一种紧凑,简单且通用的数据交换通用格式. 许多在线服务允许其用户将网站中的表格数据导出到CSV文件中. CSV ...

  6. 用python的pandas打开csv文件_使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据.CSV是一种紧凑,简单且通用的数据交换通用格式.许多在线服务允许其用户将网站中的表格数据导出到CSV文件中.CSV文件将 ...

  7. C++读取和写入CSV文件,实现判断文件格式,并且特定的排序输出的实例

    功能: 读取.解析csv文件的内容,再打印出每一个联系人的数据: 能够根据客户输入的属性KEY,来实现以KEY为依据来排序,并将排序结果打印出来: 能够对错误格式的文件进行检测: 数据流: 首先引用# ...

  8. 用pycham读取和写入csv文件

    读取csv文件: #读取csv文件 import csv with open("ceshi.csv",mode="r",encoding="utf-8 ...

  9. 使用 JavaCSV api 读取和写入 csv 文件

    使用JavaCSV api 导包 我现在基本上都是Maven构建项目,相信大家也是,就不提供jar包了. <dependency><groupId>net.sourceforg ...

最新文章

  1. 为什么 JavaScript 的私有属性使用 # 符号
  2. (C++)1027 打印沙漏
  3. 管道 过滤器风格 java_完成基于管道过滤器风格的KWI实现.doc
  4. 010-你觉得单元测试可行吗
  5. python读取文件第n行-Python实现读取文件最后n行的方法
  6. 名人尿炕被人发现后怎么办?
  7. Design Pattern----21.Behavioral.Memento.Pattern (Delphi Sample)
  8. C#枚举(Enum)小结
  9. 【 Grey Hack 】记一次被黑经历
  10. java xml接口实例化_Spring简介及xml配置
  11. 高中电子技术——继电器
  12. 百度竞价点击器_同等预算,百度竞价托管如何让您的点击量高于您同行?
  13. 在 Java 应用程序中定时执行任务
  14. Unity3D NGUI图文混排聊天表情
  15. 查询所有银行在各省的分行、支行
  16. Windows10插了耳机电脑还是外放
  17. Pandas 日期处理:生成及去除工作日与节假日
  18. 51Nod 1278 相离的圆 c/c++题解
  19. zstu新生赛 Problem A: Baby Coins(折半枚举+二分)
  20. 使用Java对书籍照片进行字符分割

热门文章

  1. 多阶段构建:Docker 下如何实现镜像多阶级构建?
  2. 面试题:数据库索引失效的条件
  3. 第二阶段:1.流程图:10.visio绘制泳道图
  4. python 窗体k线图_一眼看清股市状况之用Python绘制K线图
  5. 电脑中的RAR文件怎么样打开
  6. excel 宏命令 VB 选择字段名相同的多行数据,复制到另一sheet
  7. Blender——苹果的纹理绘制
  8. 【维生素C语言】第二章 - 分支和循环
  9. oracle数据长度超过4000,有没有办法,突破VARCHAR2最大长度是4000的限制
  10. 自组织神经网络:Kohonen网络训练算法