Jackson 2.2.2 (特に jackson-dataformat-csv) を使用して 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);
ただし、結果のファイルでは、列区切りとしてデフォルトの「,」が引き続き使用されます。デバッガーでオブジェクトをチェックすると、「;」オブジェクトのセパレーターとして設定されているので、うまくいくはずです。誰かが私が間違っていることを知っていますか、それともこれはバグですか?