import org.supercsv.io.CsvBeanReader;
import org.supercsv.io.CsvBeanWriter;
import org.supercsv.prefs.CsvPreference;
public class SuperCSVExample {
public static void main(String[] args) throws Exception {
CsvBeanReader csvReader = new CsvBeanReader(new FileReader("data.csv"), CsvPreference.STANDARD_PREFERENCE);
String[] header = csvReader.getHeader(true);
Person person;
while ((person = csvReader.read(Person.class, header)) != null) {
System.out.println(person.getName() + " - " + person.getAge());
}
csvReader.close();
CsvBeanWriter csvWriter = new CsvBeanWriter(new FileWriter("data.csv"), CsvPreference.STANDARD_PREFERENCE);
csvWriter.writeHeader("name", "age");
csvWriter.write(new Person("John", 25), header);
csvWriter.write(new Person("Jane", 30), header);
csvWriter.close();
}
}
public class Person {
private String name;
private int age;
@CsvBindByName(column = "name")
public String getName() {
return name;
}
@CsvBindByName(column = "age")
public int getAge() {
return age;
}
}