@CsvColumn(index = 0, name = "id", type = Long.class)
private Long id;
@CsvColumn(index = 1, name = "name", type = String.class)
private String name;
@CsvColumn(index = 2, name = "age", type = Integer.class)
private Integer age;
CsvReader<YourObject> reader = CsvFactory.createReader(YourObject.class, csvFile);
reader.setRowFilter(row -> row.getField("age", Integer.class) > 18);
List<YourObject> filteredData = reader.read();
reader.orderBy("name", SortOrder.ASC);
CsvWriter<YourObject> writer = CsvFactory.createWriter(YourObject.class, outputFile);
writer.write(filteredData);
writer.close();