2013-08-23 82 views
2

我們使用OpenCSV將CSV文件映射到Java Bean。我想將所有字符串值映射到Java bean,並將其設置爲最大值。
假設CSV包含以下行將所有字符串字段更改爲大寫

abc, 123, def, 123abc 

而將其映射到豆它應該被轉換

ABC, 123, DEF, 123abc 

我可以與反射去,並具有所期望的結果。但是在尋找通過OpenCSV或溶液Apache Bean Utils或任何其他類似的庫,將所有字符串字段從一個bean轉換爲大寫?

回答

1

使用覆蓋CsvToBean實現:

CsvToBean<BeanType> csv2Bean = new CsvToBean<BeanType>() { 

    @Override 
    protected Object convertValue(String value, PropertyDescriptor prop) { 
     return super.convertValue(value.toUpperCase(), prop); 
    } 
}; 

List<BeanType> beanList = csv2Bean.parse(mappingStrategy, csvReader); 
+0

看起來不錯讓我試試.. – xyz

+0

工作就像一個魅力:) – xyz

+0

@Karna高興地幫助:) –

1

試試這個,StringUtils.upperCase

if (StringUtils.isAlpha(value)) 
     { 
      System.out.print("With uppercase " + StringUtils.upperCase(value)); 
     } 
     else // with number or anything with the word 
     { 
      System.out.print("Without uppercase " + value); 
     } 

System.out.println(""+(StringUtils.isAlpha(value) ? StringUtils.upperCase(value) : value)); 
+0

如前所述,我會不喜歡自己做。 – xyz

相關問題