我正在使用apache commons CSV解析器将CSV转换为地图。在地图中,我无法通过intellij调试器读取某些值。如果我手动键入map.get(“ key”),则该值为null。但是,如果我从地图上复制粘贴密钥,那么我正在获取数据。无法理解出了什么问题。任何指针都会有所帮助。谢谢
这是我的CSV解析器代码:
private CSVParser parseCSV(InputStream inputStream) {
System.out.println("What is the encoding "+ new InputStreamReader(inputStream).getEncoding());
try {
return new CSVParser(new InputStreamReader(inputStream), CSVFormat.DEFAULT
.withFirstRecordAsHeader()
.withIgnoreHeaderCase()
.withSkipHeaderRecord()
.withTrim());
} catch (IOException e) {
throw new IPRSException(e);
}
}
答案 0 :(得分:1)
字符串中有一个奇怪的字符(参考:Reading UTF-8 - BOM marker)。以下语法有助于解决该问题
header = header("\uFEFF", "");