使用SuperCSV更改标头值

根据这篇关于SuperCSV能力的post , 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 

非常感谢任何帮助。

我不确定这是否能回答你的问题,但是你可以把任何你喜欢的东西放在标题中 – 它不必与传递给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); }