固定长度文件中的多个长度="unbounded"
Multiple length="unbounded" in fixed length file
我遇到了一些小问题,正在寻求您的帮助!
使用 BeanIO 2.1 并处理 固定长度文件 ,我目前正在尝试检索结构如下的记录 :28C:5n/5n
- ':28C:' : 修正
- 5 个号码(最多)
- '/' : 修正
- 5 个号码(最多)
示例:
- :28C:61/00005
- :28C:100/00001
- :28C:12345/12345
这是代码片段:
<record name="statementNumber" class="com.batch.records.StatementNumber" occurs="1">
<field name="tag" type="string" length="5" rid="true" literal=":28C:" ignore="true" />
<field name="statementNr" type="int" length="unbounded" maxLength="5" />
<field name="separator" type="string" length="1" rid="true" literal="/" ignore="true" />
<field name="sequenceNr" type="int" length="unbounded" maxLength="5" />
</record>
当 运行 我的解析器时,我得到这个异常:
Cannot determine field position, field is preceded by another component with indeterminate occurrencesor unbounded length
我的问题是:如何告诉 BeanIO 字段“/”实际上是两个变量字段之间的分隔符?
提前致谢
一行中只能有 1 个无限长的字段。 BeanIO documentation 表示:
The length of the last field in a fixed length record may be set to unbounded to disable padding and allow a single variable length field at the end of the otherwise fixed length record.
老实说,我不确定这是否可以使用 BeanIO 来完成。是否可以选择将 5n/5n
字段作为 1 个字段完全读入 Java 并将其拆分为代码中的 /
而不是 BeanIO?
我遇到了一些小问题,正在寻求您的帮助! 使用 BeanIO 2.1 并处理 固定长度文件 ,我目前正在尝试检索结构如下的记录 :28C:5n/5n
- ':28C:' : 修正
- 5 个号码(最多)
- '/' : 修正
- 5 个号码(最多)
示例:
- :28C:61/00005
- :28C:100/00001
- :28C:12345/12345
这是代码片段:
<record name="statementNumber" class="com.batch.records.StatementNumber" occurs="1">
<field name="tag" type="string" length="5" rid="true" literal=":28C:" ignore="true" />
<field name="statementNr" type="int" length="unbounded" maxLength="5" />
<field name="separator" type="string" length="1" rid="true" literal="/" ignore="true" />
<field name="sequenceNr" type="int" length="unbounded" maxLength="5" />
</record>
当 运行 我的解析器时,我得到这个异常:
Cannot determine field position, field is preceded by another component with indeterminate occurrencesor unbounded length
我的问题是:如何告诉 BeanIO 字段“/”实际上是两个变量字段之间的分隔符?
提前致谢
一行中只能有 1 个无限长的字段。 BeanIO documentation 表示:
The length of the last field in a fixed length record may be set to unbounded to disable padding and allow a single variable length field at the end of the otherwise fixed length record.
老实说,我不确定这是否可以使用 BeanIO 来完成。是否可以选择将 5n/5n
字段作为 1 个字段完全读入 Java 并将其拆分为代码中的 /
而不是 BeanIO?