簡體   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