如何将我的 bean 转换MyClassCsv为带有可选列名称的 CSV 文件?CSV 文件中必须包含或不包含列“标题”。
豆子:
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public class MyClassCsv implements Serializable {
private static final long serialVersionUID = -6476622625063619084L;
@CsvBindByName(column = "id")
private Integer id;
@CsvBindByName(column = "name")
private String name;
@CsvBindByName(column = "title")
private String title;
...
}
写入 CSV:
final Writer writer = new FileWriter(fileCsv.getPath());
try {
final HeaderColumnNameMappingStrategy<HoteIncbCsv> strategy = new HeaderColumnNameMappingStrategy<>();
strategy.setType(MyClassCsv.class);
// **** optional mapped 'title' ***** //
if (!useTitle) {
// ?????????
}
final StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer).withMappingStrategy(strategy).withSeparator(';').withApplyQuotesToAll(false).build();
// Ecriture dans le fichier CSV de sortie
beanToCsv.write(myClassCsv);
} finally {
writer.close();
}