Пакетный писатель Spring добавляет данные от следующей к следующей строке

Я читаю данные из БД и записываю их в текстовый файл с помощью пакета Spring. Если я получу 5 совпадающих записей, я ожидаю создать файл с данными в 5 строк. Я могу сгенерировать файл, и все работает хорошо, за исключением того факта, что каждая строка отделяется пустой строкой между ними. Например: я ожидаю, что записи будут созданы как-

1005 имя1 фамилия1 2017
1006 имя2 фамилия2 2017
1007 имя3 фамилия3 2017

Но на самом деле файл создается как -

1005 имя1 фамилия1 2017

1006 имя2 фамилия2 2017

1007 имя3 фамилия3 2017 г.

Я не уверен, почему появляется лишняя линия между ними. Может ли кто-нибудь помочь мне решить эту проблему?

Я использую следующую конфигурацию писателя:

<bean id="flatFileItemWriter" abstract="true" class="org.springframework.batch.item.file.FlatFileItemWriter">
        <property name="resource" value="file:{fileLocation}"/>
        <property name="lineAggregator">
            <bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator"/>
        </property>
  </bean>

person Vikram    schedule 24.05.2017    source источник
comment
Вы проверяли, добавляете ли вы новый символ строки после построения каждой строки в вашем Читателе Элементов?   -  person Shankar P S    schedule 25.05.2017
comment
Нет, я не добавляю символ новой строки. Я использую разделитель строк по умолчанию, заданный классом FlatFileItemWriter.   -  person Vikram    schedule 25.05.2017
comment
Если я заменяю разделитель строк на \ n \ r, он работает для меня, но он также добавляет эти символы, которые мне не нужны. Кроме того, использование тоже не сработало.   -  person Vikram    schedule 25.05.2017
comment
Я считаю, что проблема в читателе предметов. Как преобразовать чтение БД в вывод? Вы можете опубликовать эту информацию?   -  person Shankar P S    schedule 25.05.2017


Ответы (1)


Попробуйте добавить <property name="lineSeparator" value="&#13;" /> в Writer.

Также убедитесь, что в ваших строках нет символов-разделителей строк.

person StanislavL    schedule 25.05.2017