我正在尝试使用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文件中读取每个包含地址的位置对象列表?
非常感谢你的帮助
答案 0 :(得分:0)
很抱歉,但CsvToBean是一对一翻译。 csv文件中的一行成为一个对象。
我在使用openCSV时有类似的情况,我们所做的是引入一个DTO(数据传输对象),这是CSV文件中的所有数据,然后我们创建了一个转换器类,它将获取DTO对象并构建Location对象使用Address对象。
希望有所帮助。