我正在使用 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();
}
}
}