读取含有BOM头的文件遇到的问题

需求是读取一个csv文件,然后解析成对应的数据结构。csv必须包含指定的某些列,通过列名header来进行校验。

 

解析配置文件的方法。

public List<QuestionData> buildConfigData(final MultipartFile file) {

    CsvReader csvReader = null;
    List<QuestionData> questionDataList;
    try (DataInputStream inputStream = new DataInputStream(file.getInputStream())) {
        csvReader = new CsvReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));

        if (!csvReader.readHeaders()) {
            return Lists.newLinkedList();
        }

        final String[] headers = csvReader.getHeaders();
        getAndCheckHeader(headers);
        questionDataList = getQuestionData(csvReader, headers);

    } catch (final IOException e) {
        log.error("解析配置文件错误", e);
        throw new FatalException("解析配置文件错误");
    } finally {
        if (csvReader != null) {
            csvReader.close();
        }
    }
    return questio
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值