Am using supercsv CsvBeanWriter to write values to csv file.
sample class:
public class Employee {
private String name;
private int empId;
List<String> phoneNumbers;
}
Output I get is :
name,empId,phoneNumbers
vijay,1,"[123, 456]"
Note how the List<String> phoneNumbers is written out in []
My Question is how do I read it back to Employee class(bean)using supercsv.
I tried using CsvBeanReader & CsvDozerBeanReader but not able to read the List<String>.
Am getting illegalargument exception. Will be thankful for any pointers !
Complete Code:
public class DozerBeanReader {
public static void main(String [] args){
ICsvDozerBeanReader beanReader = null;
try {
beanReader = new CsvDozerBeanReader(new FileReader("Employee.csv"),
CsvPreference.STANDARD_PREFERENCE);
String [] header = beanReader.getHeader(true); // ignore the header
Class<?> [] hintTypes = {String.class, Integer.class, List.class};
beanReader.configureBeanMapping(Employee.class, header, hintTypes);
Employee readEmp1 = beanReader.read(Employee.class);
readEmp1.toString();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}