繁体   English   中英

BeanIO-“字段太少,预期最少8个”,为什么?

[英]BeanIO - “Too few fields, expected 8 minimum”, why?

我在Java中使用BeanIO 1.2,这是我的映射:

  <stream name="RecordImport" format="delimited">
    <record name="Record" minOccurs="1" maxOccurs="unbounded" class="com.myclasses.Record">
      <field name="date" type="date" format="MM/dd/yyyy" trim="true"/>
      <field name="user" type="string" trim="true"/>
      <field name="storage" type="string" trim="true"/>
      <field name="product" type="string" trim="true"/>
      <field name="qty" type="bigdecimal" format="#,##0" trim="true"/>
      <field name="altQty1" type="bigdecimal" format="#,##0" trim="true"/>
      <field name="altQty2" type="bigdecimal" format="#,##0" trim="true"/>
      <field name="altQty3" type="bigdecimal" format="#,##0" trim="true"/>
    </record>
  </stream>

我的文本文件如下所示:

3/11/2012   lpq 200011  RDD1006 8           
3/11/2012   lpq 200011  RDD1006 8           
3/11/2012   lpq 200011  RDD1006 8   1   2   3
3/11/2012   lpq 200011  RDD1006 8           

结果是我收到此消息:

"- Line 4: Too few fields, expected 8 minimum."

现在这很奇怪,因为我确实有选项卡指示第四行上有8个字段。 这似乎是由于第4行的最后一个树字段为空这一事实而发生的。 我需要使它们为空但又不引起此消息的能力。 什么也奇怪的是,这种情况仅在4号线而不是第一或第二。

有任何想法吗?

如果不删除尾随字段/标签之一,就无法重新创建您所看到的问题(使用BeanIO 1.2.5)。 如果它们确实是可选的,则可以在记录定义上设置minLength =“ 5”。 BeanIO 2.x更加灵活,可以让您在尾随可选字段上设置minOccurs =“ 0”……

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM