【发布时间】:2014-01-15 18:26:14
【问题描述】:
我正在使用 supercsv CsvBeanWriter 将值写入 csv 文件。
示例类:
public class Employee {
private String name;
private int empId;
List<String> phoneNumbers;
}
我得到的输出是:
name,empId,phoneNumbers
vijay,1,"[123, 456]"
注意List<String> phoneNumbers 是如何写在[] 中的
我的问题是如何使用 supercsv 将其读回 Employee 类(bean)。
我尝试使用CsvBeanReader 和CsvDozerBeanReader,但无法读取List<String>。
我得到了非法参数异常。 将感谢任何指针!
完整代码:
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();
}
}
}
【问题讨论】: