美文网首页
读取CSV文件\xef\xbb\xbf问题

读取CSV文件\xef\xbb\xbf问题

作者: 暗夜行者 | 来源:发表于2020-02-23 21:02 被阅读0次

    读取CSV文件代码:

    Reader reader = new InputStreamReader(new BOMInputStream(file.getInputStream()), StandardCharsets.UTF_8);
    CSVParser csvParser = CSVFormat.RFC4180.withFirstRecordAsHeader().parse(reader);
    List<CSVRecord> csvRecordList = csvParser.getRecords();
    log.info("Total Record Number : {} " , csvParser.getRecordNumber());//全部的列

    List<Map<String, String>> recordList = new ArrayList<>();
    csvRecordList.forEach(cscR -> recordList.add(cscR.toMap()));
    ....
    record.get(key)
    ...

    通过csvParser.getHeaderMap().keySet()的方式将表格头部读出来,控制台输出并无异常,但是就是按照对应的键值读到为空。后来发现返回到postman Json字符串键值前面有莫名的字符读不出来,但也是乱码,后来放到redis中,redis中显示了\xef\xbb\xbf多余字符,果然是编码的问题。解决方式就是因为加上了new BOMInputStream() 来创建流,最终可以正确读取键值。

    相关文章

      网友评论

          本文标题:读取CSV文件\xef\xbb\xbf问题

          本文链接:https://www.haomeiwen.com/subject/mmnsqhtx.html