首先明白csv文件长啥样儿:

用excel打开就变成表格了,看不到细节

推荐用其它简单粗暴一点儿的编辑器,比如Notepad++,

csv文件内容如下:

csv文件默认用逗号分隔各列。

有了基础的了解就进入主题,用Opencsv读写csv文件

读:CSVReader

写:CSVWriter

下面分别来看一下opencsv为我们提供的方法(这里只介绍最常用的几个):

读:CSVReader

构造器中涉及三个参数:

reader:就是读取文件的流对象,常用的有BufferedReader,InputStreamReader等

separator:用于定义前面提到过一下的分隔符,默认为逗号“CSVWriter.DEFAULT_SEPARATOR”用于分隔各列;

quotechar:用于定义各个列的引号,有时候csv文件中会用引号或者其它符号将一个列引起来,例如一行可能是:"1","2","3",如果想读出的字符不包含引号,就可以把参数设为:"CSVWriter.NO_QUOTE_CHARACTER"

定义一个以逗号为分隔符、读取时忽略引号的CSVReader就是:

CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(csvFile), "GBK"), CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER);

上表中的第二个方法相对而言不如另外三个用的多,close()就不多说了,

readAll():读取全部

readNext():读取一行

注意一点:如果先readNext,再readAll,readAll也是从readNext之后的那一行开始了,也就是readNext读了之后就不会再读了。

写:CSVWriter

构造器和方法都比较容易理解,可以和reader对应起来理解,这里就不多说了。

下面来一个简单的实例:

public classOpenCSV {public static void main(String[] args) throwsException {

OpenCSV oc= newOpenCSV();

oc.CSVReadAll();

oc.CSVWriter();

}public String dir = System.getProperty("user.dir") + "/testMaven";public void CSVReadAll() throwsException {

File csv= new File(dir + "/file", "readerTest.csv");

CSVReader reader= new CSVReader(new InputStreamReader(new FileInputStream(csv), "GBK"), ',');

String [] header= reader.readNext(); //用readnext读取之后就不存在于stream中了

for(String s : header) {

System.out.print(s+ ",");

}

System.out.println("");

List list = reader.readAll(); //此时读取的已经是第二行了

System.out.println(list.get(0)[0]);

System.out.println("");

}public void CSVWriter() throwsException{

File csv= new File(dir + "/file", "writerTest.csv");if (!csv.exists()) csv.createNewFile();

List list = new ArrayList<>();

String s1= "123";for (int i = 0; i < 22; i++) {

String[] ss={String.valueOf(i),String.valueOf(i),String.valueOf(i),String.valueOf(i)};

list.add(ss);

}

CSVWriter writer= new CSVWriter(new OutputStreamWriter(new FileOutputStream(csv),"GBK"),CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER);

writer.writeNext(s1, s1, s1, s1);

writer.writeNext("#","#","#","#");

writer.writeAll(list);

writer.flush();

writer.close();

}

}

java opencsv_用opencsv文件读写CSV文件相关推荐

  1. 用opencsv文件读写CSV文件

    首先明白csv文件长啥样儿: 用excel打开就变成表格了,看不到细节 推荐用其它简单粗暴一点儿的编辑器,比如Notepad++, csv文件内容如下: csv文件默认用逗号分隔各列. 有了基础的了解 ...

  2. java 逐行写入csv_go|使用go读写CSV文件

    生成CSV文件 package mainimport ("encoding/csv""log""os")var data = [][]str ...

  3. JavaCSV 读写csv文件,解决中文乱码问题

    逗号分隔值(CSV)文件,将数据逐列存储,并用分隔符将其分开(通常是逗号",").可直接使用记事本打开查看. 有很多种读写CSV文件的方法,这里介绍的是JavaCSV.Java C ...

  4. java代码实现excel文件转换为csv文件

    java代码实现excel文件转换为csv文件 pom文件导入 <dependencies><dependency><groupId>org.springframe ...

  5. python pandas 读写 csv 文件

    python pandas 读写 csv 文件 具体看官方文档 https://www.pypandas.cn/docs/user_guide/io.html#csv-文本文件 import pand ...

  6. 使用 Apache Commons CSV 读写 CSV 文件

    有时候,我们需要读写 CSV 文件,在这里给大家分享Apache Commons CSV,读写 CSV 文件非常方便. 具体官方文档请访问Apache Commons CSV. 官方文档已经写得很详细 ...

  7. python读取csv文件的方法-python读写csv文件的方法

    1.爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup books = [] def b ...

  8. python读csv-python读写csv文件

    1用python做数据分析,数据来源一般会有多种格式,而我喜欢以CSV的方式进行存储分析,如果数据本身就是CSV格式的那我可以直接用pandas库自带的方法进行读取即可,但是有时候各种来源的数据不方便 ...

  9. python本地读csv文件_python读写csv文件方法详细总结

    python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来. 在编写python程序的时候需要csv模块或者pandas模块,其中csv ...

最新文章

  1. usb协议规范_你想了解的USB知识,都在这里了!
  2. C语言结构体和结构体数组示例 - Win32窗口程序演示
  3. Eclipse中各种文件【默认编码格式设置】,防止乱码等问题
  4. Batchsize不够大,如何发挥BN性能?探讨神经网络在小Batch下的训练方法
  5. 【转】为什么不能使用字符流读取非文本的二进制文件?
  6. JFinalConfig
  7. 用bat批处理程序通过DOS命令行删除所有的空文件夹
  8. VMware vCenter升级杂谈
  9. 停止MySQL正在执行的SQL语句
  10. 【Android 应用开发】GitHub 优秀的 Android 开源项目
  11. 关闭计算机主机还亮着,Win10系统电脑关机后主机电源灯依然亮着的解决方法
  12. java 生成拼音_JAVA生成拼音码
  13. 诡异大阳飙升动因何在
  14. 微信小程序腾讯地图控制 4G Cat.1模组 ,安信可CA-01加载定位显示当前位置。
  15. DDR4内存大小等信息计算
  16. PS学习(一)-改变logo颜色
  17. 2021年计算机视觉工程师学习路线
  18. Git之拉取指定tag版本/切换指定tag代码
  19. UPC2020寒假训练第一场
  20. 母亲节,来一打AI数据范儿的礼物?

热门文章

  1. Entity Framework Core 生成跟踪列
  2. .NET FM的未来计划
  3. Linux中的vi和vim
  4. 卧槽!VS Code 上竟然也能画流程图了???
  5. Android WebView 图片超出宽度自适应,点击查看大图
  6. 热榜!!!数据结构与算法:C语言版---数组与稀疏矩阵---强势来袭!
  7. C语言试题三十之请编写函数function对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。
  8. java之DocumentBuilderFactory解析xml
  9. C++ 语法都不会怎么写代码? 03
  10. 可见光能量范围_JACS:游书力团队通过可见光促进的吲哚衍生物分子内去芳构化合成环丁烷稠合的四环吲哚螺环...