gpt4 book ai didi

java - 固定长度文件中的多个长度="unbounded"

转载 作者:行者123 更新时间:2023-12-01 11:42:34 39 4
gpt4 key购买 nike

我遇到了一个小问题,请求您的帮助!使用 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?

关于java - 固定长度文件中的多个长度="unbounded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413056/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com