zoukankan      html  css  js  c++  java
  • 【Java】利用JavaCSV API来读写csv文件

    1 背景

    CSV文件的读写其实是有很多方法的,在这里介绍一种利用第三方jar包来读写CSV文件的方法。

    日常工作中,如果有现成的第三方工具包,咱最好还是用现成的,有利于提升效率及降低异常率,成熟的三方工具包比较靠谱。

    2 JavaCSV API

    maven依赖

    <!-- https://mvnrepository.com/artifact/net.sourceforge.javacsv/javacsv -->
    <dependency>
        <groupId>net.sourceforge.javacsv</groupId>
        <artifactId>javacsv</artifactId>
        <version>2.1</version>
    </dependency>

    API 说明文档:http://javacsv.sourceforge.net/

    JavaCSV官网:https://sourceforge.net/projects/javacsv/

    javacsv-2.1.jar点击下载

    3 代码实现

    3.1 读操作

    public static void read(){
    
            String filePath = "XXX.csv";
    
            try {
                // 创建CSV读对象
                CsvReader csvReader = new CsvReader(filePath);
    
                // 读表头
                csvReader.readHeaders();
                while (csvReader.readRecord()){
                    // 读一整行
                    System.out.println(csvReader.getRawRecord());
                    // 读这行的某一列
                    System.out.println(csvReader.get("Link"));
                }
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    3.2 写操作

    public static void write(){
    
            String filePath = "/Users/dddd/test.csv";
    
            try {
                // 创建CSV写对象
                CsvWriter csvWriter = new CsvWriter(filePath,',', Charset.forName("GBK"));
                //CsvWriter csvWriter = new CsvWriter(filePath);
    
                // 写表头
                String[] headers = {"编号","姓名","年龄"};
                String[] content = {"12365","张山","34"};
                csvWriter.writeRecord(headers);
                csvWriter.writeRecord(content);
                csvWriter.close();
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    4 最新建议

    推荐关于excel或csv操作时,可以使用阿里巴巴的easyexcel库https://github.com/alibaba/easyexcel

    转自:https://blog.csdn.net/loongshawn/article/details/53423121

  • 相关阅读:
    使用cwRsync在Windows的目录之间增量同步文件
    Linux搭建lnmp环境
    ie下文件上传无权访问的问题
    10
    8
    9
    7
    网络爬虫环境配置之的模块安装
    pip的更新问题
    【转】进程与线程的一个简单解释
  • 原文地址:https://www.cnblogs.com/vickylinj/p/15625642.html
Copyright © 2011-2022 走看看