6

SuperCSV の機能に関するこの投稿に沿って、SuperCSV はデータベースから読み取ったヘッダー (列名のみ) の値の変更を処理できますか?

たとえば、次のコード スニペットは、現在の状態と期待される状態の詳細を示しています。

現在の状態

入力:

final String[] header = new String[] { "firstName", "lastName", "birthDate"};

// write the header
beanWriter.writeHeader(header);

// write the beans
for( final CustomerBean customer : customers ) {
   beanWriter.write(customer, header, processors);
}

OUTPUT : 列名を持つファイル:

firstName, lastName, birthDate
Bob      , Doe     , 02/12/2013  

期待される状態

入力:

final String[] header = new String[] { "firstName", "lastName", "birthDate"};

// write the header
beanWriter.writeHeader(header);

// write the beans
for( final CustomerBean customer : customers ) {
   beanWriter.write(customer, header, processors);
}

// modify the headers
 ??????

OUTPUT :列名が変更されたファイル:

First Name, Last Name, Birthday
Bob      , Doe     , 02/12/2013 

どんな援助も大歓迎です。

4

1 に答える 1

13

これがあなたの質問に答えるかどうかはわかりませんが、好きなものをヘッダーに入れることができます-渡されたマッピング配列と同じである必要はありませんbeanWriter.write()

たとえば、次のようにすると、目的の出力が得られます。

final String[] header = new String[] { "First Name", "Last Name", "Birthday"};
final String[] fieldMapping = new String[] { "firstName", "lastName", "birthDate"};

// write the header
beanWriter.writeHeader(header);

// write the beans
for( final CustomerBean customer : customers ) {
   beanWriter.write(customer, fieldMapping , processors);
}
于 2014-02-22T09:44:00.477 に答える