我正在从固定长度文件中读取数据。
这是文件内容:
Joe Smith Developer 075000 10012009
这是映射文件:
<beanio>
<stream name="employeeFile" format="fixedlength">
<record name="employee" class="Employee" minOccurs="0" maxOccurs="unbounded">
<field name="firstName" length="10" />
<field name="lastName" length="10" />
<field name="title" length="10" />
<field name="salary" length="6" />
<field name="hireDate" format="MMddyy" minOccurs="0" length="unbounded" maxLength="8"/>
</record>
</stream>
</beanio>
输出:
First Name:Joe
Last Name:Smith
Title:Developer
Salary:75000
Hire Date:Thu Oct 01 00:00:00 IST 2009
代码正在读取文件并成功转换为 pojo。现在客户需要我正在努力实施的奇怪要求。
"Joe Smith Developer 075000 10012009"
如果最后一个值没有出现或部分出现,则从文件内容中,代码应该成功读取内容。
例如:如果文件的内容如"Joe Smith Developer 0750"
. 这里工资长度为 4,但我们在映射文件中声明为 6,并且没有雇用日期数据。尽管如此,代码应该可以成功读取它,就像它应该将薪水设为 0750 并将雇佣日期设为空一样。
我怎样才能读到这个?