Using SuperCSV to Change Header Values

让人想犯罪 __ 提交于 2019-12-21 18:36:11

问题


In line with this post about abilities of SuperCSV, can SuperCSV handle changing the values of the headers(column names only) read from the database?

For example, the following code snippet details the Current State and the Expected State.

Current State

INPUT:

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: file with column names:

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

Expected State

INPUT:

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: file with modified column names:

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

Any assistance is greatly appreciated.


回答1:


I'm not sure if this answers your question, but you can put whatever you like in the header - it doesn't have to be identical to the mapping array passed to beanWriter.write()

For example, the following will give the output you desire:

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);
}


来源:https://stackoverflow.com/questions/21942042/using-supercsv-to-change-header-values

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!