springboot jar 读取csv文件

该代码示例展示了如何利用Hutool和Guava库从CSV文件中读取数据,并将数据转换为Map。通过加载'nation.csv'文件,程序逐行解析CSV,将第一列作为键,第二列转换为整数作为值,构建一个Map数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件路径 : /resource/csv/nation.csv
package www.test.com.common.utils;

import cn.hutool.core.text.csv.CsvData;
import cn.hutool.core.text.csv.CsvReader;
import cn.hutool.core.text.csv.CsvRow;
import cn.hutool.core.text.csv.CsvUtil;
import com.google.common.collect.Maps;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;

public class DictionaryCsvUtil {

    public static Map<String, Integer> getNationMap(){
        Map<String, Integer> map = Maps.newHashMap();
        CsvReader reader = CsvUtil.getReader();
        //从文件中读取CSV数据
        InputStream inputStream = DictionaryCsvUtil.class.getClassLoader().getResourceAsStream("csv" + File.separator + "nation.csv");
        if (null == inputStream){
            return null;
        }
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
        CsvData data = reader.read(inputStreamReader);
//        CsvData data = reader.read(cn.hutool.core.io.FileUtil.file("csv" + File.separator + "nation.csv"));
        List<CsvRow> rows = data.getRows();
        //遍历行
        for (CsvRow csvRow : rows) {
            map.put(csvRow.get(0), Integer.parseInt(csvRow.get(1)));
        }
        return map;
    }
}

<dependency>
   <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.0.M3</version>
</dependency>

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>30.1-jre</version>
</dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值