Java est une bibliothèque pour importer des fichiers CSV dans des beans, et il existe OpenCSV. Comme décrit dans l'article Bibliothèque Java CSV "opencsv", les noms de colonnes et les noms de propriétés de bean peuvent être liés et importés. Dans cet article, je présenterai la correspondance lors de la conversion de la valeur du fichier et de son importation dans le bean.
Un exemple de conversion de date est écrit dans StackOverflow de ici. Définissez la classe de conversion dans l'annotation convertisseur
et convertissez.
Un exemple de conversion d'une chaîne en date est fourni en tant qu'exemple d'implémentation.
Convertit la colonne created_at
du fichier en type LocalDateTime
.
SampleCsvBean.java
public class SampleCsvBean {
@CsvBindByName(column = "id")
private Long id;
@CsvBindByName(column = "name")
private String name;
@CsvCustomBindByName(column = "created_at", converter = SampleConverter.class)
private LocalDateTime createdAt;
}
Supposons que le fichier ait une valeur de date au format «20140101 00: 00: 00». Formatez-le en LocalDateTime dans la classe de convertisseur.
SampleConverter.java
public class SampleConverter extends AbstractBeanField {
@Override
protected Object convert(String s) throws CsvDataTypeMismatchException, CsvConstraintViolationException {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
return LocalDateTime.parse(s, dtf);
}
}
Recommended Posts