我想寫一個使用傑克遜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