如果我有一个具有非原始公共成员的课程,并且想用OpenCSV从CSV文件中填充它们,该怎么做?我注意到OpenCSV有一些与PropertyDescriptor相关的受保护成员
假设我有一个具有Address成员的Person类,我的CSV文件包含每个人的详细信息,包括他们的地址。
Person{
private String name;
private Address al
public void setAddress(Address a){..}
public void setName(String name){..}
}
Addess{
private String line1;
private String line2;
private String postCode;
.
.
.
}
CSV档案:
NAME | ADDR1 | ADDR2 | PCODE ...
John Smith |Some place | Some town | NW234
谢谢,
一种
最佳答案
您是否签出了以下FAQ question?在我看来,这就是您想要做的。我可能会误会。
有没有办法将我的CSV文件绑定到
Javabeans列表?
就在这里。
凯尔·米勒(Kyle Miller)添加了一组新的课程
允许您将CSV文件绑定到
基于列的JavaBeans列表
名称,列位置或自定义
映射策略。你可以找到新的
中的类
au.com.bytecode.opencsv.bean软件包。
映射到Java Bean的方法如下
根据您在野外的位置
CSV档案:
ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();
strat.setType(YourOrderBean.class);
String[] columns = new String[] {"name", "orderNumber", "id"}; // the fields to bind do in your JavaBean
strat.setColumnMapping(columns);
CsvToBean csv = new CsvToBean();
List list = csv.parse(strat, yourReader);