Пакетная запись Spring в файл фиксированной длины в несколько строк - PullRequest
0 голосов
/ 16 июня 2020

Мне нужно записать в файл фиксированной длины в многострочном формате. Пример вывода должен выглядеть примерно так:

START000201706151038ABC0001                                                  
00A0123456788 20007100000000000000000050                                
00B1                                                                      
00C0                                                                      
00D000000000000000                                             0000       
00A0323456788 20007100000000000000000050                                
00B1                                                                      
00C0                                                                      
00D000000000000000                                             0000       
END00000000490000000000003670406000000000307845636                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

Start - это заголовок, а End - это конец файла. Каждый элемент будет иметь четыре строки, из примера выше 00A, 00B, 00 C, 00D представляет четыре строки для каждого элемента. есть ли какой-нибудь писатель в весенней партии, который поддерживает это ?. этот вопрос: Spring-Batch: запись объектов в строки с фиксированной длиной? примерно такая же потребность, но ответа не было

1 Ответ

1 голос
/ 16 июня 2020

есть ли в весеннем пакете какой-либо писатель, который поддерживает это?

Вы пишете в плоский файл, поэтому вам нужен FlatFileItemWriter. Теперь способ агрегирования каждой строки (или каждого элемента) диктуется LineAggregator. Таким образом, вы ищете не писатель, а интерфейс LineAggregator.

Начиная с последней версии Spring Batch 4.2.4, встроенного агрегатора строк для этого не существует. Вам нужен индивидуальный вариант для ваших нужд.

...