BeanIO固定长度文件编写器Scala-避免编写一个字段



我正试图使用固定长度的文件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的值将不取决于它在类中设置或不设置的实际值。通过这种方式可以控制输出。您还可以尝试将属性的名称更改为类中不存在的名称。

相关内容

  • 没有找到相关文章

最新更新