FieldSet

在使用 Spring Batch 處理平面檔案時,無論是用於輸入還是輸出,最重要的類之一是 FieldSet。許多架構和庫都包含有助於從檔案讀取的抽象,但它們通常返回 StringString 物件陣列。這實際上只完成了一半。FieldSet 是 Spring Batch 的抽象,用於實現檔案資源欄位的繫結。它允許開發人員以與處理資料庫輸入相同的方式處理檔案輸入。FieldSet 在概念上類似於 JDBC ResultSetFieldSet 只需要一個引數:一個 String 令牌陣列。此外,您還可以配置欄位的名稱,以便可以像 ResultSet 一樣透過索引或名稱訪問這些欄位,如以下示例所示

String[] tokens = new String[]{"foo", "1", "true"};
FieldSet fs = new DefaultFieldSet(tokens);
String name = fs.readString(0);
int value = fs.readInt(1);
boolean booleanValue = fs.readBoolean(2);

FieldSet 介面還有更多選項,例如 Date、long、BigDecimal 等。FieldSet 最大的優點是它提供了對平面檔案輸入的一致解析。這樣,每個批處理作業就不會以潛在的意外方式進行不同的解析,而是在處理由格式異常引起的錯誤或進行簡單資料轉換時保持一致。

© . This site is unofficial and not affiliated with VMware.