繁体   English   中英

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

[英]BeanIO fixed length file writer Scala- Avoid one field from writing

我正在尝试使用固定长度文件 BeanIO 库从 scala 案例 class 编写 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 中删除该行,它将引发错误

除了将其从案例 class 中删除或将字段长度设为“零”之外,任何人都可以提出任何建议。

如何将 dob 字段视为常量

如果 bean 属性没有 map 到 stream 中的字段,则仍然可以使用属性元素设置常量属性值。 与字段一样,所有属性都必须指定一个 name 属性,默认情况下,该属性用于从 bean object 获取和设置属性值。 属性还需要一个 value 属性来设置属性值的文本表示。 值文本使用与上述字段类型转换相同的规则和属性(类型、类型处理程序和格式)进行类型转换。 不支持集合类型属性。

尝试这个:

<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 的值将不取决于它在 class 中设置或不设置的实际值。 这样您就可以控制 output。 您还可以尝试将属性名称更改为 class 中不存在的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM