Javacsv实现Java读写csv文件

 更新时间:2018年07月02日 17:19:29   作者:享叔  
这篇文章主要为大家详细介绍了Javacsv实现Java读写csv文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

今天跟大家分享一个利用外部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操作的简单示例,可以根据自己的项目需求进行酌情修改。

相关文章

  • 解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    这篇文章主要介绍了解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Seata AT获取数据表元数据源码详解

    Seata AT获取数据表元数据源码详解

    这篇文章主要为大家介绍了Seata AT获取数据表元数据源码详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • JAVA三种拦截方式详解(原生过滤器Filter、springMVC拦截器、aop切面)

    JAVA三种拦截方式详解(原生过滤器Filter、springMVC拦截器、aop切面)

    在Java开发中方法拦截是一种常见的技术,可以用于在方法执行前后添加额外的逻辑或修改方法的行为,这篇文章主要给大家介绍了关于JAVA三种拦截方式的相关资料,文中介绍的方式分别是原生过滤器Filter、springMVC拦截器、aop切面,需要的朋友可以参考下
    2024-05-05
  • Java集合框架概览之ArrayList源码刨析

    Java集合框架概览之ArrayList源码刨析

    本文主要从一个简单的代码入手,对ArrayList 的最常用的源码进行刨析,文中源码摘自 JDK1.8,源码的注释部分博主也加入了自己的翻译,欢迎读者食用
    2023-03-03
  • Java实现二分查找算法实例分析

    Java实现二分查找算法实例分析

    这篇文章主要介绍了Java实现二分查找算法,实例分析了二分查找算法的原理与相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Java 中的 clone( ) 和 new哪个效率更高

    Java 中的 clone( ) 和 new哪个效率更高

    很多朋友不太清楚clone()和new那个更快?针对这个问题我百度了好多资料,最终小编总结下关于Java 中的 clone( ) 和 new哪个效率更高的问题,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • 解决Intellij IDEA 使用Spring-boot-devTools无效的问题

    解决Intellij IDEA 使用Spring-boot-devTools无效的问题

    下面小编就为大家带来一篇解决Intellij IDEA 使用Spring-boot-devTools无效的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • ThreadPoolExecutor参数含义及源码执行流程详解

    ThreadPoolExecutor参数含义及源码执行流程详解

    这篇文章主要为大家介绍了ThreadPoolExecutor参数含义及源码执行流程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Java中List根据map的某个key去重的代码

    Java中List根据map的某个key去重的代码

    今天小编就为大家分享一篇关于Java中List根据map的某个key去重的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Java实现常用的三种加密算法详解

    Java实现常用的三种加密算法详解

    编程中常见的加密算法有以下几种:信息摘要算法、对称加密算法以及非对称加密算法。本文将利用Java实现这几种常见的加密算法,需要的可以参考一下
    2022-03-03

最新评论