Javacsv实现Java读写csv文件

作者:享叔 时间:2022-02-16 01:10:15 

今天跟大家分享一个利用外部Jar包来实现Java操作CSV文件

一.资源下载

1.直接下载Jar包:javacsv-2.0.jar

2.利用Maven下载Jar包:


<dependency>
 <groupId>net.sourceforge.javacsv</groupId>
 <artifactId>javacsv</artifactId>
 <version>2.0</version>
</dependency>

3.API说明:javacsv.sourceforge.net

二.操作演示

1.写CSV文件案例


public static void writeCSV() {
 // 定义一个CSV路径
 String csvFilePath = "D://StemQ.csv";
 try {
   // 创建CSV写对象 例如:CsvWriter(文件路径,分隔符,编码格式);
   CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8"));
   // 写表头
   String[] csvHeaders = { "编号", "姓名", "年龄" };
   csvWriter.writeRecord(csvHeaders);
   // 写内容
   for (int i = 0; i < 20; i++) {
     String[] csvContent = { i + "000000", "StemQ", "1" + i };
     csvWriter.writeRecord(csvContent);
   }
   csvWriter.close();
   System.out.println("--------CSV文件已经写入--------");
 } catch (IOException e) {
   e.printStackTrace();
 }
}

2.读CSV文件案例


public static void readCSV() {
 try {
   // 用来保存数据
   ArrayList<String[]> csvFileList = new ArrayList<String[]>();
   // 定义一个CSV路径
   String csvFilePath = "D://StemQ.csv";
   // 创建CSV读对象 例如:CsvReader(文件路径,分隔符,编码格式);
   CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8"));
   // 跳过表头 如果需要表头的话,这句可以忽略
   reader.readHeaders();
   // 逐行读入除表头的数据
   while (reader.readRecord()) {
     System.out.println(reader.getRawRecord());
     csvFileList.add(reader.getValues());
   }
   reader.close();

// 遍历读取的CSV文件
   for (int row = 0; row < csvFileList.size(); row++) {
     // 取得第row行第0列的数据
     String cell = csvFileList.get(row)[0];
     System.out.println("------------>"+cell);
   }
 } catch (IOException e) {
   e.printStackTrace();
 }
}

三.总结

以上内容就是利用JavaCSV.jar操作的简单示例,可以根据自己的项目需求进行酌情修改。

来源:https://blog.csdn.net/stemq/article/details/60780859

标签:javacsv,java,csv
0
投稿

猜你喜欢

  • mybatis初始化SqlSessionFactory失败的几个原因分析

    2021-06-17 11:13:44
  • Java实现Http工具类的封装操作示例

    2021-08-14 10:27:57
  • Java Vector实现班级信息管理系统

    2023-11-25 03:09:09
  • 修改maven本地仓库路径的方法

    2022-08-09 13:44:16
  • 简述Mybatis增删改查实例代码

    2023-03-06 18:07:53
  • 深入理解Java设计模式之抽象工厂模式

    2023-11-28 12:11:34
  • Java基于对象流实现银行系统

    2023-09-10 02:54:21
  • java基础二叉搜索树图文详解

    2023-06-01 05:43:19
  • 双重检查锁定模式Java中的陷阱案例

    2023-11-13 22:11:02
  • SpringBoot @Validated注解实现参数分组校验的方法实例

    2023-01-02 11:18:50
  • java时间戳转日期格式的实现代码

    2023-08-07 21:44:31
  • Java面试题冲刺第二十四天--并发编程

    2023-08-31 05:39:02
  • springcloud项目占用内存好几个G导致服务器崩溃的问题

    2023-03-30 09:54:25
  • java&javascript自定义加密数据传输代码示例

    2021-11-29 02:09:33
  • java设计模式之适配器模式

    2021-08-28 09:08:09
  • 实例解析使用Java实现基本的音频播放器的编写要点

    2023-11-29 14:54:26
  • Java ShutdownHook原理详解

    2023-11-10 21:30:36
  • linux下idea、pycharm等输入中文拼音时满3个字母后无法继续拼音输入的问题

    2022-03-03 20:49:19
  • JavaWeb开发之使用jQuery与Ajax实现动态联级菜单效果

    2023-11-28 19:46:08
  • Java开发中synchronized的定义及用法详解

    2021-11-11 07:01:20
  • asp之家 软件编程 m.aspxhome.com