我想写一个使用杰克逊2.2.2(特别是杰克逊数据格式csv)的CSV文件,但我不能让它使用';'作为fileseparator。杰克逊csv作家不使用正确的列分隔符
我使用下面的代码初始化作家:
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(MyObject.class);
schema = schema.withColumnSeparator(CSV_COLUMN_SEPARATOR);
ObjectWriter myObjectWriter = mapper.writer(schema);
要创建CSV我这样做如下:
FileOutputStream tempFileOutputStream = new FileOutputStream(tempFile);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(tempFileOutputStream, STREAM_BUFFER_SIZE);
writerOutputStream = new OutputStreamWriter(bufferedOutputStream, FILE_ENCODING);
myObjectWriter.writeValue(writerOutputStream, listOfMyObjects);
但是生成的文件仍然使用默认的' ,'作为列分隔符。当我用调试器检查对象';'在对象中设置为分隔符,所以我想它应该工作。有谁知道我在做什么错或者这是一个错误?
没关系我一直在网上寻找答案,发现这个功能在2.2.2版本中不起作用它从2.2.3版本开始工作,它是在4天前发布的,但在maven版本库中不可用然而。 – Ozzie
现在应该已经有几天了:http://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-csv/2.2.3/ – StaxMan