美文网首页
读取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