我已将Map转换为byteStream []并将其写入csv文件
为此,我使用了fastxml.jackson CsvMapper mapper = new CsvMapper()。
我要向此csv文件添加UTF-8编码。有什么帮助,如何添加此编码?
我知道要读取UTF-8编码的文件,需要编写我的自定义阅读器,但是我的任务是导出CSV,它将由用户在运行时在Excel中打开。因此,我需要一种在编写CSV时应该使用UTF-8对其进行编码的方式,以便当用户在excel中打开时,他应该可以看到正确的编码 以下是我的代码段
CsvSchema csvSchema = CsvSchema.builder().addColumn("some value").build();
CsvMaper mapper = new CsvMapper();
ObjectWritter writter = mapper.writer(csvSchema);
try {
List<Map<String,Object>> converted = convertvalues(bundle); // returns some map
byte[] bytes = objectWriter.writeValueAsBytes(converted);
return FileStream.builder().setId(exportId).setUserId(accessObject.getUserId()).setType(FileType.CSV).setInputStream(bytes).build();
}
catch (JsonProcessingException e) {
throw new RuntimeException(e);
}```