java - CSV阅读器丢失转义字符
问题描述
我正在尝试读取包含以下信息的文件:
"message":"{\"n_number\":\"000116314\"}
当我尝试使用 CSVReader 时,我丢失了转义字符()。当我直接使用 BufferedReader 时,我可以保留转义字符。如何修改使用 CSVReader 的代码以保留转义字符?
失败的代码
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
Character delimiter = '\u0001';
CSVReader csvReader = new CSVReaderBuilder(reader)
.withCSVParser(new CSVParserBuilder()
.withSeparator(delimiter).build()).build();
List<Map<String, Object>> output = new ArrayList<>();
mappingStrategy.setColumnMapping(columns);
mappingStrategy.setType(MyData.class);
CsvToBean<MyData> csvbean = new CsvToBean<MyData>();
csvbean.setCsvReader(csvReader);
csvbean.setMappingStrategy(mappingStrategy);
List<MyData> myData = csvbean.parse();
这会产生:
"message":"{"n_number":"000116314"}
工作代码
StringBuilder resultStringBuilder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String line;
while ((line = reader.readLine()) != null) {
resultStringBuilder.append(line).append("\n");
}
解决方案
推荐阅读
- bash - 如何修复 bash:raco:找不到命令?
- spring - org.hibernate.tool.schema.spi.CommandAcceptanceException:在使用 h2 和 JPA 的 SpringBoot 中通过 JDBC 语句执行 DDL 时出错
- javascript - 使用 jquery 永久删除类并覆盖其他代码?
- java - Java (JUnit5) 测试挑战
- android - Android Studio Cmake 无法确定目标的链接器语言
- python - 在新的 sqlite3 中导入 csv 以使用新项目 django 2.1
- node.js - Lambda Nodejs - (node:1) UnhandledPromiseRejectionWarning: #