利用JavaCSV API来读写csv文件

转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/53423121

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();
        }
    }

利用JavaCSV API来读写csv文件_第1张图片

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();
        }
    }

利用JavaCSV API来读写csv文件_第2张图片

4 最新建议

[2019-05-16] 近来收到网友反馈,2.1版本已经在maven库中找不到了,这是事实。Javacsv最近一次更新是2014年12月,不过官网是可以下载到这个版本的依赖包,需要用的话,可以自行下载然后手动导入到本地库及所在企业的私有库。鉴于javacsv已经有4年半了没有更新了,推荐关于excel或csv操作时,可以使用阿里巴巴的easyexcel库https://github.com/alibaba/easyexcel,这个库目前还有人在维护

你可能感兴趣的:(JAVA)