<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>2.12.4</version>
</dependency>
id,name,age,email
1,John Doe,30,johndoe@example.com
2,Jane Smith,25,janesmith@example.com
3,Mark Johnson,35,markjohnson@example.com
public class Employee {
private int id;
private String name;
private int age;
private String email;
// ...
}
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 CsvFileReader {
public static void main(String[] args) {
try {
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(Employee.class).withHeader().withColumnReordering(true);
File csvFile = new File("employees.csv");
List<Employee> employees = mapper.readerFor(Employee.class).with(schema).readValues(csvFile).readAll();
for (Employee employee : employees) {
System.out.println(employee.getId() + ", " + employee.getName() + ", " +
employee.getAge() + ", " + employee.getEmail());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
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.ArrayList;
import java.util.List;
public class CsvFileWriter {
public static void main(String[] args) {
try {
CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(Employee.class).withHeader();
File csvFile = new File("new_employees.csv");
List<Employee> employees = new ArrayList<>();
employees.add(new Employee(4, "Tom White", 40, "tomwhite@example.com"));
employees.add(new Employee(5, "Sarah Johnson", 35, "sarahjohnson@example.com"));
mapper.writerFor(Employee.class).with(schema).writeValues(csvFile).writeAll(employees);
} catch (IOException e) {
e.printStackTrace();
}
}
}