如果我有一个具有非原始公共成员的课程,并且想用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);

10-08 16:46