<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>2.12.1</version>
</dependency>
public class Student {
private String name;
private int age;
private String gender;
}
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class CsvToObjectConverter {
public List<Student> readStudentsFromCsv(File file) throws IOException {
CsvMapper csvMapper = new CsvMapper();
CsvSchema schema = CsvSchema.builder()
.addColumn("name")
.addColumn("age")
.addColumn("gender")
.build()
.withHeader();
List<Student> students = csvMapper.readerFor(Student.class)
.with(schema)
.readValues(file)
.readAll();
return students;
}
}
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class ObjectToCsvConverter {
public void writeStudentsToCsv(List<Student> students, File file) throws IOException {
CsvMapper csvMapper = new CsvMapper();
CsvSchema schema = csvMapper.schemaFor(Student.class)
.withHeader();
csvMapper.writer(schema)
.writeValue(file, students);
}
}