我正试图使用固定长度的文件BeanIO库从scala case类编写一个csv文件。
样本代码
case class employee(id:String,name:String,dob:String)
<record name="emp" class="employee">
<field name="id" position="0" length="5" getter="#1" setter="id"/>
<field name="name" position="5" length="5" getter="#2" setter="name"/>
<field name="dob" position="10" length="5" getter="#3" setter="dob"/>
</record>
但我想避免dob在csv文件中写入。如果我从xml中删除了那一行,它将抛出错误
除了将其从case类中删除或将字段长度设为"之外,有人能提出其他方法吗;零";。
将dob字段视为常量如何?
如果bean属性没有映射到流中的字段,则常量属性值仍然可以使用属性元素设置。就像字段,所有属性都必须指定一个名称属性,默认情况下,用于从bean对象获取和设置属性值。属性还需要一个值属性来设置文本属性值的表示。值文本经过类型转换使用相同的规则和属性(类型、类型处理程序和格式(用于上述字段类型转换。集合类型不支持属性。
试试这个:
<record name="emp" class="employee">
<field name="id" position="0" length="5" getter="#1" setter="id"/>
<field name="name" position="5" length="5" getter="#2" setter="name"/>
<property name="dob" position="10" length="5" getter="#3" setter="dob" value="" />
</record>
dob的值将不取决于它在类中设置或不设置的实际值。通过这种方式可以控制输出。您还可以尝试将属性的名称更改为类中不存在的名称。