Java opencsv CsvToBean构造函数

时间:2016-01-30 20:01:25

标签: java object javabeans opencsv

我正在尝试使用opencsv的CsvToBean创建对象列表。 我有两个不同的类:地址(地址)和位置(standort)。 在类位置我正在尝试创建一个对象地址。

public class CSV {
public List<StandortAuto> readAutos() {
    CsvToBean<StandortAuto> csvToBean = new CsvToBean<StandortAuto>();

    Map<String, String> columnMapping = new HashMap<String, String>();
    columnMapping.put("Strasse", "strasse");
    columnMapping.put("Parkplaetze", "parkplaetze");

    HeaderColumnNameTranslateMappingStrategy<StandortAuto> strategy = new HeaderColumnNameTranslateMappingStrategy<StandortAuto>();
    strategy.setType(StandortAuto.class);
    strategy.setColumnMapping(columnMapping);

    List<StandortAuto> list = null;
    CSVReader reader;
    try {
        reader = new CSVReader(new FileReader(new File("/Users/fabich/Projects/LeihAuto/src/com/hwz/leihauto/csv/cars.csv")),',');
        System.out.println(reader.getLinesRead());
        list = csvToBean.parse(strategy, reader);
        System.out.println(list.size());
        for (StandortAuto s : list) {
            System.out.println(s.getName());
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return list;
}
}

如何使用opencsv从CSV文件中读取每个包含地址的位置对象列表?

非常感谢你的帮助

1 个答案:

答案 0 :(得分:0)

很抱歉,但CsvToBean是一对一翻译。 csv文件中的一行成为一个对象。

我在使用openCSV时有类似的情况,我们所做的是引入一个DTO(数据传输对象),这是CSV文件中的所有数据,然后我们创建了一个转换器类,它将获取DTO对象并构建Location对象使用Address对象。

希望有所帮助。