여러 반복 세그먼트를 포함하는 고정 길이 파일에 대한 매핑 파일을 만들려고합니다. 문제는, 이러한 세그먼트 중 하나 이상이 무한 반복되는데, 이것은 플랫 파일을 위해 beanio에서 지원되지 않는다는 것입니다. 나는 beanio가 얼마나 자주 세그먼트가 반복되는지 추측 할 수 있기 때문에, 이것에 대한 좋은 이유가 있음을 이해합니다.처리중인 스트림에서 세그먼트에 대한 maxOccurs 속성을 읽을 수 있습니까?
그러나 반복 세그먼트가 발생하기 전에 각 세그먼트에 대한 반복 횟수가 파일에 있으므로 스트림에서 해당 숫자를 읽고 그 값을 채울 수있는 방법이 있는지 알아 내려고 노력하고 있습니다. 올바른 값을 사용하여 다음 세그먼트에 대한 "minOccurs"및 "maxOccurs"속성 지금은 길이 1 및 길이 2 세그먼트에서 "maxOccurs에"속성으로 필드의 값을 사용하는 방법이 필요
<beanio>
<stream name="employeeFile" format="fixedlength">
<record name="record1" class="example.Record1">
<field name="field1" length="10"/>
<field name="field2" length="2"/>
<field name="length1" length="2"/>
<segment name="list1" collection="list" minOccurs="1" maxOccurs="unbounded" class="example.List1">
...
</segment>
<field name="length2" length="2"/>
<segment name="list2" collection="list" minOccurs="1" maxOccurs="unbounded" class="example.List2">
...
</segment>
</record>
</stream>
</beanio>
: 같은 은 기본적으로 내 매핑 파일을 찾습니다. 나는이 행동을 취할 수있는 "공식적인"방법이 없다는 것을 확신하지만, 지금까지는 원격으로 우아한 해결책을 찾지 못했습니다.
내가 가진 아이디어는 파일에서 각 세그먼트에 대한 반복 횟수를로드 한 다음 매핑 파일에서 검색 대체를 수행하여 beanio에서로드하기 전에 매우 복잡하게 보일 수있는 절차를 만드는 것이 었습니다 일을하는 방법.
덕분에, Sönke