Конфигурация Spring Batch Изменение преобразования форматера

У меня есть Item Writer, как показано ниже:

<beans:property name="lineAggregator">
  <beans:bean class="org.spring...FormatterLineAggregator">
    <beans:property name="fieldExtractor">
        <beans:bean class="org.springframework..BeanWrapperFieldExtractor">
             <beans:property name="names" value="column1" /> 
            </beans:bean>
            </beans:property>
        <beans:property name="format" value="%05d" /> 
    </beans:bean>

когда я устал от значения формата ="%05d", я получаю ожидаемое значение как 00012. но когда я пытаюсь изменить значение средства форматирования со значением ="%05s", я получаю пробелы, подобные этой " 12", которые необходимо заменить на нуль.

Предположим, что если у меня есть значение в качестве AI2, то мое форматированное значение должно быть 000AI2. Вот и я пытаюсь изменить конверсию с d на s.

Как это сделать:?

1 ответ

%d используется только для форматирования чисел. Обычно в файле фиксированной длины мы дополняем строковые данные пробелами и числами с "0".

Если у вас нет выбора и данные, которые вы хотите заполнить "0", являются строкой, возможно, вы можете сделать логику преобразования в процессоре вашего шага?