有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java BeanIO“字段太少,至少需要8个”,为什么?

我正在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行中的最后一个树字段为空。我需要的能力,他们是空的,但这个消息不会被提出。同样奇怪的是,这种情况只发生在第四行,而不是第一行或第二行

有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    如果不删除其中一个尾随字段/选项卡,我无法重新创建您看到的问题(使用BeanIO 1.2.5)。如果它们确实是可选的,则可以在记录定义上设置minLength=“5”。比尼奥2。x更灵活一点,允许您在后面的可选字段上设置minOccurs=“0”

    祝你好运