Как получить точное имя в @CsvBindByName? - PullRequest
0 голосов
/ 11 февраля 2019

При использовании OpenCSV для записи csv я использую аннотацию CSVBindByName следующим образом:

    @CsvBindByName(column = "Date")
    private Long date;
    @CsvBindByName(column = "Post content")
    private String text;

Но в сгенерированном файле все заголовки находятся в верхнем регистре: DATE, POST CONTENT

Есть ли способ сгенерировать точное имя в аннотации?

1 Ответ

0 голосов
/ 11 февраля 2019

Похоже, что аннотация CsvBindByName всегда преобразует имя столбца в UpperCase на основе исходного кода OpenCSV @ https://sourceforge.net/p/opencsv/source/ci/master/tree/src/main/java/com/opencsv/bean/HeaderColumnNameMappingStrategy.java#l210

Вы можете попробовать использовать пользовательский преобразователь, как подробно описано здесь:

OpenCsv записывает неправильные имена столбцов с помощью BeanToCsv + HeaderColumnNameTranslateMappingStrategy

...