2

CSVファイルをJava BeanにマップするためにOpenCSVを使用しています。Java Bean にマッピングするときに、すべての文字列値を大文字にしたいと考えています。
CSVに次の行が含まれているとします

abc, 123, def, 123abc   

それをBeanにマッピングしている間、変換する必要があります

ABC, 123, DEF, 123abc

リフレクションを使用して目的の結果を得ることができます。しかし、 OpenCSVを介して解決策を探していました。または、 Apache Bean Utilsまたは Bean からすべての文字列フィールドを大文字に変換する他の同様のライブラリに機能はありますか?

4

2 に答える 2

2

オーバーライドされた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);
于 2013-08-23T06:54:25.433 に答える
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));
于 2013-08-23T06:46:55.790 に答える