私は 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."
4 行目に 8 つのフィールドがあることを示すタブが配置されているため、これは奇妙です。これは、4 行目の最後のツリー フィールドが null であるために発生するようです。それらがnullでありながら、このメッセージが発生しないようにする機能が必要です。また奇妙なのは、これが 4 行目だけで発生し、1 行目や 2 行目では発生しないことです。
何か案は?