Java ist eine Bibliothek zum Importieren von CSV-Dateien in Beans, und es gibt OpenCSV. Wie im Artikel Java CSV-Bibliothek "opencsv" beschrieben, können Sie Spaltennamen und Bean-Eigenschaftsnamen in Verbindung miteinander importieren. In diesem Artikel werde ich die Korrespondenz beim Konvertieren des Werts der Datei und beim Importieren in die Bean vorstellen.
Ein Beispiel für die Datumskonvertierung ist in StackOverflow von hier geschrieben. Stellen Sie die Konvertierungsklasse in der Annotation converter
ein und konvertieren Sie.
Ein Beispiel für die Konvertierung einer Zeichenfolge in ein Datum wird als Implementierungsbeispiel bereitgestellt.
Konvertiert die Spalte "created_at" in der Datei in den Typ "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;
}
Angenommen, die Datei hat einen Datumswert im Format "20140101 00: 00: 00". Formatieren Sie dies in der Konverterklasse in LocalDateTime.
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);
}
}