豆豆 - "Too few fields, expected 8 minimum",为什么?



我在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个字段。这似乎是由于第四行中的最后一棵树字段为null而发生的。我需要他们的能力使他们无效,但要不提出此消息。奇怪的是,这仅发生在第四行,而不是第1或第二。

有什么想法?

我无法重新创建所看到的问题(使用beanio 1.2.5),而无需删除一个尾随字段/选项卡。如果它们确实是可选的,则可以在记录定义上设置MinLength =" 5"。beanio 2.x更灵活一些,可以让您在尾随的可选字段上设置minoccurs =" 0" ...

祝你好运!

相关内容

  • 没有找到相关文章

最新更新