<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>2.12.3</version>
</dependency>
CsvMapper csvMapper = new CsvMapper();
try (MappingIterator<Map<String, String>> iterator = csvMapper.readerFor(Map.class)
.with(csvSchema)
.readValues(new File("data.csv"))) {
while (iterator.hasNext()) {
Map<String, String> row = iterator.next();
String name = row.get("name");
String age = row.get("age");
// ...
}
} catch (IOException e) {
e.printStackTrace();
}
CsvMapper csvMapper = new CsvMapper();
List<MyObject> data = new ArrayList<>();
try {
csvMapper.writerFor(MyObject.class)
.with(csvSchema)
.writeValues(new File("output.csv"))
.writeAll(data);
} catch (IOException e) {
e.printStackTrace();
}