[英]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.