Java环境下使用CsvReader()读取CSV文件

简介: Java环境下使用CsvReader()读取CSV文件

🐓CSV文件是什么

CSV 代表逗号分隔值,是一种非常流行的文件类型。CSV文件用于存储由逗号分隔的信息。文件的每一行都用于表示一个数据记录。

🐓CSV文件的读取

🚩进行CSV文件的解析

  private List<CsvRow> getCsvFile(String filePath) {
        //新建一个CsvReadConfig配置对象
        CsvReadConfig csvReadConfig = new CsvReadConfig();
        //新建一个CsvReader对象
        CsvReader csvRows = new CsvReader(csvReadConfig);
        //初始化数据
        CsvData read = null;
            read = csvRows.read(new File(filePath), CharsetUtil.CHARSET_UTF_8);
        //读取数据
        List<CsvRow> rows = read.getRows();
        return rows;
    }


🚩Hutool包中的CsvReadConfig配置类(可以动态设置开始和结束)

import java.io.Serializable;
 
public class CsvReadConfig extends CsvConfig<CsvReadConfig> implements Serializable {
    private static final long serialVersionUID = 5396453565371560052L;
    protected long headerLineNo = -1L;
    protected boolean skipEmptyRows = true;
    protected boolean errorOnDifferentFieldCount;
    protected long beginLineNo;
    protected long endLineNo = 9223372036854775806L;
    protected boolean trimField;
 
    public CsvReadConfig() {
    }
 
    public static CsvReadConfig defaultConfig() {
        return new CsvReadConfig();
    }
 
    public CsvReadConfig setContainsHeader(boolean containsHeader) {
        return this.setHeaderLineNo(containsHeader ? this.beginLineNo : -1L);
    }
 
    public CsvReadConfig setHeaderLineNo(long headerLineNo) {
        this.headerLineNo = headerLineNo;
        return this;
    }
 
    public CsvReadConfig setSkipEmptyRows(boolean skipEmptyRows) {
        this.skipEmptyRows = skipEmptyRows;
        return this;
    }
 
    public CsvReadConfig setErrorOnDifferentFieldCount(boolean errorOnDifferentFieldCount) {
        this.errorOnDifferentFieldCount = errorOnDifferentFieldCount;
        return this;
    }
 
    public CsvReadConfig setBeginLineNo(long beginLineNo) {
        this.beginLineNo = beginLineNo;
        return this;
    }
 
    public CsvReadConfig setEndLineNo(long endLineNo) {
        this.endLineNo = endLineNo;
        return this;
    }
 
    public CsvReadConfig setTrimField(boolean trimField) {
        this.trimField = trimField;
        return this;
    }
}


相关文章
|
Linux Perl
如何在 Linux 中将 CSV 文件转换为 TSV 文件?
如何在 Linux 中将 CSV 文件转换为 TSV 文件?
183 0
如何在 Linux 中将 CSV 文件转换为 TSV 文件?
|
Python
python文件的打开、读取、关闭、写入与二进制文件的读写操作
python文件的打开、读取、关闭、写入与二进制文件的读写操作
2301 0
python文件的打开、读取、关闭、写入与二进制文件的读写操作
|
C# C++
GDAL打开中文路径和读写中文字段的问题
版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/40394839 GDAL不同的版本对中文的默认支持不一,有时候默认支持,有时候需要自己去设置。
1756 0
|
27天前
|
安全 Windows
windows系统中,通过LOAD到入csv格式的文件到neo4j中,如何写文件路径
windows系统中,通过LOAD到入csv格式的文件到neo4j中,如何写文件路径
36 0
|
存储 编译器 Python
python文件处理-CSV文件的读取、处理、写入
python文件处理-CSV文件的读取、处理、写入
353 0
python文件处理-CSV文件的读取、处理、写入
|
Java 关系型数据库 MySQL
SpringBoot 导出多个Excel文件,压缩成.zip格式下载
SpringBoot 导出多个Excel文件,压缩成.zip格式下载
884 0
SpringBoot 导出多个Excel文件,压缩成.zip格式下载
python 读取 .csv/.xlsx/.xls 文件数据—批量修改文件名
python 读取 .csv/.xlsx/.xls 文件数据—批量修改文件名
|
Python
一日一技:Python读取包里面的数据文件的三种方法
一日一技:Python读取包里面的数据文件的三种方法
243 0
|
存储 数据挖掘 数据库