使用Java中的UTF-8编码以CSV格式编写inputStream

我已将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);
        }```
myidgy 回答:使用Java中的UTF-8编码以CSV格式编写inputStream

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3097166.html

大家都在问