CSV数据含反斜杠时,如何在OpenCSV的CsvToBeanBuilder中设置解析器?
解决OpenCSV解析含反斜杠CSV文件的配置方法
你的CSV文件里包含反斜杠,要让OpenCSV的CsvToBeanBuilder正确解析这类内容,关键是把你创建好的RFC4180Parser通过withParser()方法绑定到构建器上——你原来的代码只是创建了解析器,但没传给CsvToBeanBuilder,所以没生效。
修改后的完整代码如下:
// 构建遵循RFC4180标准的解析器,默认规则下能正确处理反斜杠这类转义字符 RFC4180Parser rfc4180Parser = new RFC4180ParserBuilder().build(); List<MyObjVO> beans = new CsvToBeanBuilder(new InputStreamReader(inInputStream)) .withType(MyObjVO.class) .withParser(rfc4180Parser) // 核心步骤:将自定义解析器传入构建器 .build() .parse();
如果你的反斜杠是作为普通文本存在(不是用来转义其他字符的),还可以通过RFC4180ParserBuilder自定义转义字符,让反斜杠被当作普通字符解析:
// 把转义字符指定为双引号,这样反斜杠就会被视为普通文本 RFC4180Parser rfc4180Parser = new RFC4180ParserBuilder() .withEscapeChar('"') .build();
内容的提问来源于stack exchange,提问作者ABC123
相关产品推荐
相关产品推荐

